<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.14"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>JSON Voorhees: jsonv::value Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
  $(document).ready(initResizable);
/* @license-end */</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/x-mathjax-config">
  MathJax.Hub.Config({
    extensions: ["tex2jax.js"],
    jax: ["input/TeX","output/HTML-CSS"],
});
</script><script type="text/javascript" async src="http://www.mathjax.org/mathjax/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">JSON Voorhees
   </div>
   <div id="projectbrief">Killer JSON for C++</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.14 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('classjsonv_1_1value.html','');});
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#friends">Friends</a> &#124;
<a href="classjsonv_1_1value-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">jsonv::value Class Reference<div class="ingroups"><a class="el" href="group__Value.html">Value</a></div></div>  </div>
</div><!--header-->
<div class="contents">

<p>Represents a single JSON value, which can be any one of a potential <code>kind</code>, each behaving slightly differently.  
 <a href="classjsonv_1_1value.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="value_8hpp_source.html">jsonv/value.hpp</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structjsonv_1_1value_1_1basic__array__iterator.html">basic_array_iterator</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">The base type for iterating over array values.  <a href="structjsonv_1_1value_1_1basic__array__iterator.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structjsonv_1_1value_1_1basic__object__iterator.html">basic_object_iterator</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">The base iterator type for iterating over object types.  <a href="structjsonv_1_1value_1_1basic__object__iterator.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:structjsonv_1_1value_1_1object__insert__return__type"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classjsonv_1_1value.html#structjsonv_1_1value_1_1object__insert__return__type">object_insert_return_type</a></td></tr>
<tr class="memdesc:structjsonv_1_1value_1_1object__insert__return__type"><td class="mdescLeft">&#160;</td><td class="mdescRight">Type returned from <code>insert</code> operations when this has kind::object.  <a href="classjsonv_1_1value.html#structjsonv_1_1value_1_1object__insert__return__type">More...</a><br /></td></tr>
<tr class="separator:structjsonv_1_1value_1_1object__insert__return__type"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:a355ff8e824be29d57864cad7d7c0fb8d"><td class="memItemLeft" align="right" valign="top"><a id="a355ff8e824be29d57864cad7d7c0fb8d"></a>
typedef std::size_t&#160;</td><td class="memItemRight" valign="bottom"><b>size_type</b></td></tr>
<tr class="separator:a355ff8e824be29d57864cad7d7c0fb8d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0770ff7991544233967cf449c04fe56a"><td class="memItemLeft" align="right" valign="top"><a id="a0770ff7991544233967cf449c04fe56a"></a>
typedef std::ptrdiff_t&#160;</td><td class="memItemRight" valign="bottom"><b>difference_type</b></td></tr>
<tr class="separator:a0770ff7991544233967cf449c04fe56a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa58d1fe3e62a974eb331287ede1771bf"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="structjsonv_1_1value_1_1basic__array__iterator.html">basic_array_iterator</a>&lt; <a class="el" href="classjsonv_1_1value.html">value</a>, <a class="el" href="classjsonv_1_1value.html">value</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classjsonv_1_1value.html#aa58d1fe3e62a974eb331287ede1771bf">array_iterator</a></td></tr>
<tr class="memdesc:aa58d1fe3e62a974eb331287ede1771bf"><td class="mdescLeft">&#160;</td><td class="mdescRight">The <code>array_iterator</code> is applicable when <code>kind</code> is <code>kind::array</code>.  <a href="#aa58d1fe3e62a974eb331287ede1771bf">More...</a><br /></td></tr>
<tr class="separator:aa58d1fe3e62a974eb331287ede1771bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0c185bba74f386f6c82b5b5fccdd8197"><td class="memItemLeft" align="right" valign="top"><a id="a0c185bba74f386f6c82b5b5fccdd8197"></a>
typedef <a class="el" href="structjsonv_1_1value_1_1basic__array__iterator.html">basic_array_iterator</a>&lt; const <a class="el" href="classjsonv_1_1value.html">value</a>, const <a class="el" href="classjsonv_1_1value.html">value</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>const_array_iterator</b></td></tr>
<tr class="separator:a0c185bba74f386f6c82b5b5fccdd8197"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5f593b7e5b1958a3f602cb809a9dc77f"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classjsonv_1_1detail_1_1basic__view.html">detail::basic_view</a>&lt; <a class="el" href="classjsonv_1_1value.html#aa58d1fe3e62a974eb331287ede1771bf">array_iterator</a>, <a class="el" href="structjsonv_1_1value_1_1basic__array__iterator.html">const_array_iterator</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classjsonv_1_1value.html#a5f593b7e5b1958a3f602cb809a9dc77f">array_view</a></td></tr>
<tr class="memdesc:a5f593b7e5b1958a3f602cb809a9dc77f"><td class="mdescLeft">&#160;</td><td class="mdescRight">If <code>kind</code> is <code>kind::array</code>, an <code>array_view</code> allows you to access a value as a sequence container.  <a href="#a5f593b7e5b1958a3f602cb809a9dc77f">More...</a><br /></td></tr>
<tr class="separator:a5f593b7e5b1958a3f602cb809a9dc77f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a54dd1d743ab887969271695d5477d966"><td class="memItemLeft" align="right" valign="top"><a id="a54dd1d743ab887969271695d5477d966"></a>
typedef <a class="el" href="classjsonv_1_1detail_1_1basic__view.html">detail::basic_view</a>&lt; <a class="el" href="structjsonv_1_1value_1_1basic__array__iterator.html">const_array_iterator</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>const_array_view</b></td></tr>
<tr class="separator:a54dd1d743ab887969271695d5477d966"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8f0f32ab9bba1cd06590fd942bccc10b"><td class="memItemLeft" align="right" valign="top"><a id="a8f0f32ab9bba1cd06590fd942bccc10b"></a>
typedef <a class="el" href="classjsonv_1_1detail_1_1basic__owning__view.html">detail::basic_owning_view</a>&lt; <a class="el" href="classjsonv_1_1value.html">value</a>, <a class="el" href="classjsonv_1_1value.html#aa58d1fe3e62a974eb331287ede1771bf">array_iterator</a>, <a class="el" href="structjsonv_1_1value_1_1basic__array__iterator.html">const_array_iterator</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>owning_array_view</b></td></tr>
<tr class="separator:a8f0f32ab9bba1cd06590fd942bccc10b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abf0673825595a5326e65544af770b4dd"><td class="memItemLeft" align="right" valign="top">typedef std::pair&lt; const std::string, <a class="el" href="classjsonv_1_1value.html">value</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classjsonv_1_1value.html#abf0673825595a5326e65544af770b4dd">object_value_type</a></td></tr>
<tr class="memdesc:abf0673825595a5326e65544af770b4dd"><td class="mdescLeft">&#160;</td><td class="mdescRight">The type of value stored when <code>kind</code> is <code>kind::object</code>.  <a href="#abf0673825595a5326e65544af770b4dd">More...</a><br /></td></tr>
<tr class="separator:abf0673825595a5326e65544af770b4dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a318c2006b4bc53859c444604995ebc05"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="structjsonv_1_1value_1_1basic__object__iterator.html">basic_object_iterator</a>&lt; <a class="el" href="classjsonv_1_1value.html#abf0673825595a5326e65544af770b4dd">object_value_type</a>, std::map&lt; std::string, <a class="el" href="classjsonv_1_1value.html">value</a> &gt;::iterator &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classjsonv_1_1value.html#a318c2006b4bc53859c444604995ebc05">object_iterator</a></td></tr>
<tr class="memdesc:a318c2006b4bc53859c444604995ebc05"><td class="mdescLeft">&#160;</td><td class="mdescRight">The <code>object_iterator</code> is applicable when <code>kind</code> is <code>kind::object</code>.  <a href="#a318c2006b4bc53859c444604995ebc05">More...</a><br /></td></tr>
<tr class="separator:a318c2006b4bc53859c444604995ebc05"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adfdaa72edbf78da2dbf960942e946bde"><td class="memItemLeft" align="right" valign="top"><a id="adfdaa72edbf78da2dbf960942e946bde"></a>
typedef <a class="el" href="structjsonv_1_1value_1_1basic__object__iterator.html">basic_object_iterator</a>&lt; const <a class="el" href="classjsonv_1_1value.html#abf0673825595a5326e65544af770b4dd">object_value_type</a>, std::map&lt; std::string, <a class="el" href="classjsonv_1_1value.html">value</a> &gt;::const_iterator &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>const_object_iterator</b></td></tr>
<tr class="separator:adfdaa72edbf78da2dbf960942e946bde"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a39d2820f80eac817a14d5e129de46449"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="classjsonv_1_1detail_1_1basic__view.html">detail::basic_view</a>&lt; <a class="el" href="classjsonv_1_1value.html#a318c2006b4bc53859c444604995ebc05">object_iterator</a>, <a class="el" href="structjsonv_1_1value_1_1basic__object__iterator.html">const_object_iterator</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classjsonv_1_1value.html#a39d2820f80eac817a14d5e129de46449">object_view</a></td></tr>
<tr class="memdesc:a39d2820f80eac817a14d5e129de46449"><td class="mdescLeft">&#160;</td><td class="mdescRight">If <code>kind</code> is <code>kind::object</code>, an <code>object_view</code> allows you to access a value as an associative container.  <a href="#a39d2820f80eac817a14d5e129de46449">More...</a><br /></td></tr>
<tr class="separator:a39d2820f80eac817a14d5e129de46449"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8f27cda168f235ef55974fa3d6a9e4e3"><td class="memItemLeft" align="right" valign="top"><a id="a8f27cda168f235ef55974fa3d6a9e4e3"></a>
typedef <a class="el" href="classjsonv_1_1detail_1_1basic__view.html">detail::basic_view</a>&lt; <a class="el" href="structjsonv_1_1value_1_1basic__object__iterator.html">const_object_iterator</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>const_object_view</b></td></tr>
<tr class="separator:a8f27cda168f235ef55974fa3d6a9e4e3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a87b6b088b2b670634e2c9c4e66e4e1b5"><td class="memItemLeft" align="right" valign="top"><a id="a87b6b088b2b670634e2c9c4e66e4e1b5"></a>
typedef <a class="el" href="classjsonv_1_1detail_1_1basic__owning__view.html">detail::basic_owning_view</a>&lt; <a class="el" href="classjsonv_1_1value.html">value</a>, <a class="el" href="classjsonv_1_1value.html#a318c2006b4bc53859c444604995ebc05">object_iterator</a>, <a class="el" href="structjsonv_1_1value_1_1basic__object__iterator.html">const_object_iterator</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>owning_object_view</b></td></tr>
<tr class="separator:a87b6b088b2b670634e2c9c4e66e4e1b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a1406cf5e3dbed488dfb62805db3ba43f"><td class="memItemLeft" align="right" valign="top">constexpr&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classjsonv_1_1value.html#a1406cf5e3dbed488dfb62805db3ba43f">value</a> ()</td></tr>
<tr class="memdesc:a1406cf5e3dbed488dfb62805db3ba43f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default-construct this to null.  <a href="#a1406cf5e3dbed488dfb62805db3ba43f">More...</a><br /></td></tr>
<tr class="separator:a1406cf5e3dbed488dfb62805db3ba43f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a153f8e5b0bfd9a142fd8d472e1ba7848"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classjsonv_1_1value.html#a153f8e5b0bfd9a142fd8d472e1ba7848">value</a> (std::nullptr_t)=delete</td></tr>
<tr class="memdesc:a153f8e5b0bfd9a142fd8d472e1ba7848"><td class="mdescLeft">&#160;</td><td class="mdescRight">The nullptr overload will fail to compile &ndash; use <code>null</code> if you want a <code>kind::null</code>.  <a href="#a153f8e5b0bfd9a142fd8d472e1ba7848">More...</a><br /></td></tr>
<tr class="separator:a153f8e5b0bfd9a142fd8d472e1ba7848"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aae8213bbe2c15829705a12e06f3a7291"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classjsonv_1_1value.html#aae8213bbe2c15829705a12e06f3a7291">value</a> (const <a class="el" href="classjsonv_1_1value.html">value</a> &amp;source)</td></tr>
<tr class="memdesc:aae8213bbe2c15829705a12e06f3a7291"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy the contents of <em>source</em> into a new instance.  <a href="#aae8213bbe2c15829705a12e06f3a7291">More...</a><br /></td></tr>
<tr class="separator:aae8213bbe2c15829705a12e06f3a7291"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acb44bcc2693282e3d4fd0d801d397f0c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classjsonv_1_1value.html#acb44bcc2693282e3d4fd0d801d397f0c">value</a> (const std::string &amp;<a class="el" href="classjsonv_1_1value.html">value</a>)</td></tr>
<tr class="memdesc:acb44bcc2693282e3d4fd0d801d397f0c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a <code>kind::string</code> with the given <em>value</em>.  <a href="#acb44bcc2693282e3d4fd0d801d397f0c">More...</a><br /></td></tr>
<tr class="separator:acb44bcc2693282e3d4fd0d801d397f0c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a06a22c68eec0860678afd2e4a9eb379b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classjsonv_1_1value.html#a06a22c68eec0860678afd2e4a9eb379b">value</a> (const <a class="el" href="string__view_8hpp.html#a9cc8d30ac4b07b6f3b7e5c22fb98bcd6">string_view</a> &amp;<a class="el" href="classjsonv_1_1value.html">value</a>)</td></tr>
<tr class="memdesc:a06a22c68eec0860678afd2e4a9eb379b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a <code>kind::string</code> with the given <em>value</em>.  <a href="#a06a22c68eec0860678afd2e4a9eb379b">More...</a><br /></td></tr>
<tr class="separator:a06a22c68eec0860678afd2e4a9eb379b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:add1aa9ddf147119f88084f59985206b7"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classjsonv_1_1value.html#add1aa9ddf147119f88084f59985206b7">value</a> (const char *<a class="el" href="classjsonv_1_1value.html">value</a>)</td></tr>
<tr class="memdesc:add1aa9ddf147119f88084f59985206b7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a <code>kind::string</code> with the given <em>value</em>.  <a href="#add1aa9ddf147119f88084f59985206b7">More...</a><br /></td></tr>
<tr class="separator:add1aa9ddf147119f88084f59985206b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9b05ac314779f6edc6cc38c2ecf4f9ae"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classjsonv_1_1value.html#a9b05ac314779f6edc6cc38c2ecf4f9ae">value</a> (const std::wstring &amp;<a class="el" href="classjsonv_1_1value.html">value</a>)</td></tr>
<tr class="memdesc:a9b05ac314779f6edc6cc38c2ecf4f9ae"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a <code>kind::string</code> with the given <em>value</em>.  <a href="#a9b05ac314779f6edc6cc38c2ecf4f9ae">More...</a><br /></td></tr>
<tr class="separator:a9b05ac314779f6edc6cc38c2ecf4f9ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a68c4b44959381c8f6ffb8af6d1b6be38"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classjsonv_1_1value.html#a68c4b44959381c8f6ffb8af6d1b6be38">value</a> (const wchar_t *<a class="el" href="classjsonv_1_1value.html">value</a>)</td></tr>
<tr class="memdesc:a68c4b44959381c8f6ffb8af6d1b6be38"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a <code>kind::string</code> with the given <em>value</em>.  <a href="#a68c4b44959381c8f6ffb8af6d1b6be38">More...</a><br /></td></tr>
<tr class="separator:a68c4b44959381c8f6ffb8af6d1b6be38"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af07ce6b42b31433a68b4817082fab33a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classjsonv_1_1value.html#af07ce6b42b31433a68b4817082fab33a">value</a> (int64_t <a class="el" href="classjsonv_1_1value.html">value</a>)</td></tr>
<tr class="memdesc:af07ce6b42b31433a68b4817082fab33a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a <code>kind::integer</code> with the given <em>value</em>.  <a href="#af07ce6b42b31433a68b4817082fab33a">More...</a><br /></td></tr>
<tr class="separator:af07ce6b42b31433a68b4817082fab33a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aec0cf35155ec31a268aa84283958eadc"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classjsonv_1_1value.html#aec0cf35155ec31a268aa84283958eadc">value</a> (double <a class="el" href="classjsonv_1_1value.html">value</a>)</td></tr>
<tr class="memdesc:aec0cf35155ec31a268aa84283958eadc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a <code>kind::decimal</code> with the given <em>value</em>.  <a href="#aec0cf35155ec31a268aa84283958eadc">More...</a><br /></td></tr>
<tr class="separator:aec0cf35155ec31a268aa84283958eadc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1a83a1a26dd16f668249c180f57e36eb"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classjsonv_1_1value.html#a1a83a1a26dd16f668249c180f57e36eb">value</a> (float <a class="el" href="classjsonv_1_1value.html">value</a>)</td></tr>
<tr class="memdesc:a1a83a1a26dd16f668249c180f57e36eb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a <code>kind::decimal</code> with the given <em>value</em>.  <a href="#a1a83a1a26dd16f668249c180f57e36eb">More...</a><br /></td></tr>
<tr class="separator:a1a83a1a26dd16f668249c180f57e36eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9fb9bbb669cecc911340ae74ca92b779"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classjsonv_1_1value.html#a9fb9bbb669cecc911340ae74ca92b779">value</a> (bool <a class="el" href="classjsonv_1_1value.html">value</a>)</td></tr>
<tr class="memdesc:a9fb9bbb669cecc911340ae74ca92b779"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a <code>kind::boolean</code> with the given <em>value</em>.  <a href="#a9fb9bbb669cecc911340ae74ca92b779">More...</a><br /></td></tr>
<tr class="separator:a9fb9bbb669cecc911340ae74ca92b779"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaa697e7d7823f2c3518978f9270a7699"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classjsonv_1_1value.html#aaa697e7d7823f2c3518978f9270a7699">~value</a> () noexcept</td></tr>
<tr class="memdesc:aaa697e7d7823f2c3518978f9270a7699"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destruction will never throw.  <a href="#aaa697e7d7823f2c3518978f9270a7699">More...</a><br /></td></tr>
<tr class="separator:aaa697e7d7823f2c3518978f9270a7699"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6d0c99d7a7004dfbf3e787636834c7b4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classjsonv_1_1value.html">value</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classjsonv_1_1value.html#a6d0c99d7a7004dfbf3e787636834c7b4">operator=</a> (const <a class="el" href="classjsonv_1_1value.html">value</a> &amp;source)</td></tr>
<tr class="memdesc:a6d0c99d7a7004dfbf3e787636834c7b4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy-assigns <code>source</code> to this.  <a href="#a6d0c99d7a7004dfbf3e787636834c7b4">More...</a><br /></td></tr>
<tr class="separator:a6d0c99d7a7004dfbf3e787636834c7b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a947b385a10eccc9e112c782ee675a848"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classjsonv_1_1value.html#a947b385a10eccc9e112c782ee675a848">value</a> (<a class="el" href="classjsonv_1_1value.html">value</a> &amp;&amp;source) noexcept</td></tr>
<tr class="memdesc:a947b385a10eccc9e112c782ee675a848"><td class="mdescLeft">&#160;</td><td class="mdescRight">Move-construct this instance, leaving <em>source</em> as a null value.  <a href="#a947b385a10eccc9e112c782ee675a848">More...</a><br /></td></tr>
<tr class="separator:a947b385a10eccc9e112c782ee675a848"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a20594daa871eaa685f6e6d716561bb76"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classjsonv_1_1value.html">value</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classjsonv_1_1value.html#a20594daa871eaa685f6e6d716561bb76">operator=</a> (<a class="el" href="classjsonv_1_1value.html">value</a> &amp;&amp;source) noexcept</td></tr>
<tr class="memdesc:a20594daa871eaa685f6e6d716561bb76"><td class="mdescLeft">&#160;</td><td class="mdescRight">Move-assigns <code>source</code> to this, leaving <em>source</em> as a null value.  <a href="#a20594daa871eaa685f6e6d716561bb76">More...</a><br /></td></tr>
<tr class="separator:a20594daa871eaa685f6e6d716561bb76"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a857ab3adbc33de720eb37d8bc8a2a0bb"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classjsonv_1_1value.html#a857ab3adbc33de720eb37d8bc8a2a0bb">as_string</a> () const</td></tr>
<tr class="memdesc:a857ab3adbc33de720eb37d8bc8a2a0bb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get this value as a string.  <a href="#a857ab3adbc33de720eb37d8bc8a2a0bb">More...</a><br /></td></tr>
<tr class="separator:a857ab3adbc33de720eb37d8bc8a2a0bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a28b9a7d610406085dc29aae843bc5fd2"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classjsonv_1_1value.html#a28b9a7d610406085dc29aae843bc5fd2">is_string</a> () const</td></tr>
<tr class="memdesc:a28b9a7d610406085dc29aae843bc5fd2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tests if this <code>kind</code> is <code>kind::string</code>.  <a href="#a28b9a7d610406085dc29aae843bc5fd2">More...</a><br /></td></tr>
<tr class="separator:a28b9a7d610406085dc29aae843bc5fd2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8b1cc3e9785a5fe7946fa3a2ef79d851"><td class="memItemLeft" align="right" valign="top"><a class="el" href="string__view_8hpp.html#a9cc8d30ac4b07b6f3b7e5c22fb98bcd6">string_view</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classjsonv_1_1value.html#a8b1cc3e9785a5fe7946fa3a2ef79d851">as_string_view</a> () const &amp;</td></tr>
<tr class="memdesc:a8b1cc3e9785a5fe7946fa3a2ef79d851"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get this value as a <code>string_view</code>.  <a href="#a8b1cc3e9785a5fe7946fa3a2ef79d851">More...</a><br /></td></tr>
<tr class="separator:a8b1cc3e9785a5fe7946fa3a2ef79d851"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6375fb0f096aaa104dd5bed0b1384662"><td class="memItemLeft" align="right" valign="top">std::wstring&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classjsonv_1_1value.html#a6375fb0f096aaa104dd5bed0b1384662">as_wstring</a> () const</td></tr>
<tr class="memdesc:a6375fb0f096aaa104dd5bed0b1384662"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get this value as a wide string.  <a href="#a6375fb0f096aaa104dd5bed0b1384662">More...</a><br /></td></tr>
<tr class="separator:a6375fb0f096aaa104dd5bed0b1384662"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acfbb2db2ddd7746690c3db702442300b"><td class="memItemLeft" align="right" valign="top">int64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classjsonv_1_1value.html#acfbb2db2ddd7746690c3db702442300b">as_integer</a> () const</td></tr>
<tr class="memdesc:acfbb2db2ddd7746690c3db702442300b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get this value as an integer.  <a href="#acfbb2db2ddd7746690c3db702442300b">More...</a><br /></td></tr>
<tr class="separator:acfbb2db2ddd7746690c3db702442300b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac70bfe24618e1886078432d89873fd20"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classjsonv_1_1value.html#ac70bfe24618e1886078432d89873fd20">is_integer</a> () const</td></tr>
<tr class="memdesc:ac70bfe24618e1886078432d89873fd20"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tests if this <code>kind</code> is <code>kind::integer</code>.  <a href="#ac70bfe24618e1886078432d89873fd20">More...</a><br /></td></tr>
<tr class="separator:ac70bfe24618e1886078432d89873fd20"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a22e420bb62163040fb97ab1e3eac31c9"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classjsonv_1_1value.html#a22e420bb62163040fb97ab1e3eac31c9">as_decimal</a> () const</td></tr>
<tr class="memdesc:a22e420bb62163040fb97ab1e3eac31c9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get this value as a decimal.  <a href="#a22e420bb62163040fb97ab1e3eac31c9">More...</a><br /></td></tr>
<tr class="separator:a22e420bb62163040fb97ab1e3eac31c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a604616de46b12731b73970d72a3aff93"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classjsonv_1_1value.html#a604616de46b12731b73970d72a3aff93">is_decimal</a> () const</td></tr>
<tr class="memdesc:a604616de46b12731b73970d72a3aff93"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tests if this <code>kind</code> is <code>kind::integer</code> or <code>kind::decimal</code>.  <a href="#a604616de46b12731b73970d72a3aff93">More...</a><br /></td></tr>
<tr class="separator:a604616de46b12731b73970d72a3aff93"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9d36fd929944e10c8bb4aab56d1cc024"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classjsonv_1_1value.html#a9d36fd929944e10c8bb4aab56d1cc024">as_boolean</a> () const</td></tr>
<tr class="memdesc:a9d36fd929944e10c8bb4aab56d1cc024"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get this value as a boolean.  <a href="#a9d36fd929944e10c8bb4aab56d1cc024">More...</a><br /></td></tr>
<tr class="separator:a9d36fd929944e10c8bb4aab56d1cc024"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac7d1285edf2657143eecbc2462896bd1"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classjsonv_1_1value.html#ac7d1285edf2657143eecbc2462896bd1">is_boolean</a> () const</td></tr>
<tr class="memdesc:ac7d1285edf2657143eecbc2462896bd1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tests if this <code>kind</code> is <code>kind::boolean</code>.  <a href="#ac7d1285edf2657143eecbc2462896bd1">More...</a><br /></td></tr>
<tr class="separator:ac7d1285edf2657143eecbc2462896bd1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a873c5e74cfc6e20ea5902b63fc6564e2"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classjsonv_1_1value.html#a873c5e74cfc6e20ea5902b63fc6564e2">is_array</a> () const</td></tr>
<tr class="memdesc:a873c5e74cfc6e20ea5902b63fc6564e2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tests if this <code>kind</code> is <code>kind::array</code>.  <a href="#a873c5e74cfc6e20ea5902b63fc6564e2">More...</a><br /></td></tr>
<tr class="separator:a873c5e74cfc6e20ea5902b63fc6564e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af414e84b17ae18cd6b41213a0dc6e821"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classjsonv_1_1value.html#af414e84b17ae18cd6b41213a0dc6e821">is_object</a> () const</td></tr>
<tr class="memdesc:af414e84b17ae18cd6b41213a0dc6e821"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tests if this <code>kind</code> is <code>kind::object</code>.  <a href="#af414e84b17ae18cd6b41213a0dc6e821">More...</a><br /></td></tr>
<tr class="separator:af414e84b17ae18cd6b41213a0dc6e821"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6ca6624ee0b38cef7f9458fe6466ff62"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classjsonv_1_1value.html#a6ca6624ee0b38cef7f9458fe6466ff62">is_null</a> () const</td></tr>
<tr class="memdesc:a6ca6624ee0b38cef7f9458fe6466ff62"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tests if this <code>kind</code> is <code>kind::null</code>.  <a href="#a6ca6624ee0b38cef7f9458fe6466ff62">More...</a><br /></td></tr>
<tr class="separator:a6ca6624ee0b38cef7f9458fe6466ff62"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a11b8dfc38c7a6ceac53c639f18aaebea"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classjsonv_1_1value.html#a11b8dfc38c7a6ceac53c639f18aaebea">clear</a> ()</td></tr>
<tr class="memdesc:a11b8dfc38c7a6ceac53c639f18aaebea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Resets this value to null.  <a href="#a11b8dfc38c7a6ceac53c639f18aaebea">More...</a><br /></td></tr>
<tr class="separator:a11b8dfc38c7a6ceac53c639f18aaebea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a535999782d4f869f1f0111b8020dcef7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__Value.html#ga3721c2ed2f380809f2fc3b03a6f6fa53">jsonv::kind</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classjsonv_1_1value.html#a535999782d4f869f1f0111b8020dcef7">kind</a> () const</td></tr>
<tr class="memdesc:a535999782d4f869f1f0111b8020dcef7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get this value's kind.  <a href="#a535999782d4f869f1f0111b8020dcef7">More...</a><br /></td></tr>
<tr class="separator:a535999782d4f869f1f0111b8020dcef7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4deebd24d01a9a729e3fceee3b62232a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classjsonv_1_1value.html">value</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classjsonv_1_1value.html#a4deebd24d01a9a729e3fceee3b62232a">at_path</a> (const <a class="el" href="classjsonv_1_1path.html">path</a> &amp;p)</td></tr>
<tr class="memdesc:a4deebd24d01a9a729e3fceee3b62232a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the value specified by the path <em>p</em>.  <a href="#a4deebd24d01a9a729e3fceee3b62232a">More...</a><br /></td></tr>
<tr class="separator:a4deebd24d01a9a729e3fceee3b62232a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a62607f42f165d22a04967315134c1f54"><td class="memItemLeft" align="right" valign="top"><a id="a62607f42f165d22a04967315134c1f54"></a>
<a class="el" href="classjsonv_1_1value.html">value</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>at_path</b> (<a class="el" href="string__view_8hpp.html#a9cc8d30ac4b07b6f3b7e5c22fb98bcd6">string_view</a> p)</td></tr>
<tr class="separator:a62607f42f165d22a04967315134c1f54"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2db1ccdbc34e7951e9242ffbf2983cb7"><td class="memItemLeft" align="right" valign="top"><a id="a2db1ccdbc34e7951e9242ffbf2983cb7"></a>
<a class="el" href="classjsonv_1_1value.html">value</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>at_path</b> (size_type p)</td></tr>
<tr class="separator:a2db1ccdbc34e7951e9242ffbf2983cb7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af9c8a9043231bb54ae7029a8f559c064"><td class="memItemLeft" align="right" valign="top"><a id="af9c8a9043231bb54ae7029a8f559c064"></a>
const <a class="el" href="classjsonv_1_1value.html">value</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>at_path</b> (const <a class="el" href="classjsonv_1_1path.html">path</a> &amp;p) const</td></tr>
<tr class="separator:af9c8a9043231bb54ae7029a8f559c064"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a71d58837da31972e3a8aba7384b13b6f"><td class="memItemLeft" align="right" valign="top"><a id="a71d58837da31972e3a8aba7384b13b6f"></a>
const <a class="el" href="classjsonv_1_1value.html">value</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>at_path</b> (<a class="el" href="string__view_8hpp.html#a9cc8d30ac4b07b6f3b7e5c22fb98bcd6">string_view</a> p) const</td></tr>
<tr class="separator:a71d58837da31972e3a8aba7384b13b6f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8a8bf23d2bbe2736d54796b26ee4338e"><td class="memItemLeft" align="right" valign="top"><a id="a8a8bf23d2bbe2736d54796b26ee4338e"></a>
const <a class="el" href="classjsonv_1_1value.html">value</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>at_path</b> (size_type p) const</td></tr>
<tr class="separator:a8a8bf23d2bbe2736d54796b26ee4338e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a38a3c2b5adbee4b65f268f85e6c155be"><td class="memItemLeft" align="right" valign="top">size_type&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classjsonv_1_1value.html#a38a3c2b5adbee4b65f268f85e6c155be">count_path</a> (const <a class="el" href="classjsonv_1_1path.html">path</a> &amp;p) const</td></tr>
<tr class="memdesc:a38a3c2b5adbee4b65f268f85e6c155be"><td class="mdescLeft">&#160;</td><td class="mdescRight">Similar to <code>count</code>, but walks the given path <em>p</em> to determine its presence.  <a href="#a38a3c2b5adbee4b65f268f85e6c155be">More...</a><br /></td></tr>
<tr class="separator:a38a3c2b5adbee4b65f268f85e6c155be"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1f9a4b552ad414c5380853f980956f5f"><td class="memItemLeft" align="right" valign="top"><a id="a1f9a4b552ad414c5380853f980956f5f"></a>
size_type&#160;</td><td class="memItemRight" valign="bottom"><b>count_path</b> (<a class="el" href="string__view_8hpp.html#a9cc8d30ac4b07b6f3b7e5c22fb98bcd6">string_view</a> p) const</td></tr>
<tr class="separator:a1f9a4b552ad414c5380853f980956f5f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a669c1fa378c08c2ef006a613e1da5330"><td class="memItemLeft" align="right" valign="top"><a id="a669c1fa378c08c2ef006a613e1da5330"></a>
size_type&#160;</td><td class="memItemRight" valign="bottom"><b>count_path</b> (size_type p) const</td></tr>
<tr class="separator:a669c1fa378c08c2ef006a613e1da5330"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5fef3e201f1d7661ca0aab45bdd2d4e9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classjsonv_1_1value.html">value</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classjsonv_1_1value.html#a5fef3e201f1d7661ca0aab45bdd2d4e9">path</a> (const <a class="el" href="classjsonv_1_1path.html">path</a> &amp;p)</td></tr>
<tr class="memdesc:a5fef3e201f1d7661ca0aab45bdd2d4e9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get or create the value specified by the path <em>p</em>.  <a href="#a5fef3e201f1d7661ca0aab45bdd2d4e9">More...</a><br /></td></tr>
<tr class="separator:a5fef3e201f1d7661ca0aab45bdd2d4e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0737e3c91a4743fa0ecec48c238af6cc"><td class="memItemLeft" align="right" valign="top"><a id="a0737e3c91a4743fa0ecec48c238af6cc"></a>
<a class="el" href="classjsonv_1_1value.html">value</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>path</b> (<a class="el" href="string__view_8hpp.html#a9cc8d30ac4b07b6f3b7e5c22fb98bcd6">string_view</a> p)</td></tr>
<tr class="separator:a0737e3c91a4743fa0ecec48c238af6cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac03fbf6240a83ce3e876beec1923f296"><td class="memItemLeft" align="right" valign="top"><a id="ac03fbf6240a83ce3e876beec1923f296"></a>
<a class="el" href="classjsonv_1_1value.html">value</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>path</b> (size_type p)</td></tr>
<tr class="separator:ac03fbf6240a83ce3e876beec1923f296"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acea6f1f938880b1b1761324e59abad83"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classjsonv_1_1value.html#acea6f1f938880b1b1761324e59abad83">swap</a> (<a class="el" href="classjsonv_1_1value.html">value</a> &amp;other) noexcept</td></tr>
<tr class="memdesc:acea6f1f938880b1b1761324e59abad83"><td class="mdescLeft">&#160;</td><td class="mdescRight">Swap the value this instance represents with <em>other</em>.  <a href="#acea6f1f938880b1b1761324e59abad83">More...</a><br /></td></tr>
<tr class="separator:acea6f1f938880b1b1761324e59abad83"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7dda6eef4c4ed1e50320bf9b36bee3e4"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classjsonv_1_1value.html#a7dda6eef4c4ed1e50320bf9b36bee3e4">operator==</a> (const <a class="el" href="classjsonv_1_1value.html">value</a> &amp;other) const</td></tr>
<tr class="memdesc:a7dda6eef4c4ed1e50320bf9b36bee3e4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compares two JSON values for equality.  <a href="#a7dda6eef4c4ed1e50320bf9b36bee3e4">More...</a><br /></td></tr>
<tr class="separator:a7dda6eef4c4ed1e50320bf9b36bee3e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a39d11a11dc3acb059d5e6ff9992570eb"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classjsonv_1_1value.html#a39d11a11dc3acb059d5e6ff9992570eb">operator!=</a> (const <a class="el" href="classjsonv_1_1value.html">value</a> &amp;other) const</td></tr>
<tr class="memdesc:a39d11a11dc3acb059d5e6ff9992570eb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compares two JSON values for inequality.  <a href="#a39d11a11dc3acb059d5e6ff9992570eb">More...</a><br /></td></tr>
<tr class="separator:a39d11a11dc3acb059d5e6ff9992570eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a50a89be9c59fdad1d3bed40610e1750d"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classjsonv_1_1value.html#a50a89be9c59fdad1d3bed40610e1750d">compare</a> (const <a class="el" href="classjsonv_1_1value.html">value</a> &amp;other) const</td></tr>
<tr class="memdesc:a50a89be9c59fdad1d3bed40610e1750d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Used to build a strict-ordering of JSON values.  <a href="#a50a89be9c59fdad1d3bed40610e1750d">More...</a><br /></td></tr>
<tr class="separator:a50a89be9c59fdad1d3bed40610e1750d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab9074d33c59711eb17903e779a0fb87f"><td class="memItemLeft" align="right" valign="top"><a id="ab9074d33c59711eb17903e779a0fb87f"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>operator&lt;</b> (const <a class="el" href="classjsonv_1_1value.html">value</a> &amp;other) const</td></tr>
<tr class="separator:ab9074d33c59711eb17903e779a0fb87f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae7029426c468831768882e6cda86b29e"><td class="memItemLeft" align="right" valign="top"><a id="ae7029426c468831768882e6cda86b29e"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>operator&gt;</b> (const <a class="el" href="classjsonv_1_1value.html">value</a> &amp;other) const</td></tr>
<tr class="separator:ae7029426c468831768882e6cda86b29e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af6c139ab69efb39b56c2ac822927a0cf"><td class="memItemLeft" align="right" valign="top"><a id="af6c139ab69efb39b56c2ac822927a0cf"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>operator&lt;=</b> (const <a class="el" href="classjsonv_1_1value.html">value</a> &amp;other) const</td></tr>
<tr class="separator:af6c139ab69efb39b56c2ac822927a0cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1c390ecfc6073543ced19af278c01254"><td class="memItemLeft" align="right" valign="top"><a id="a1c390ecfc6073543ced19af278c01254"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>operator&gt;=</b> (const <a class="el" href="classjsonv_1_1value.html">value</a> &amp;other) const</td></tr>
<tr class="separator:a1c390ecfc6073543ced19af278c01254"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae8a94ae8199b6de18e9e27347b6a2dd7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classjsonv_1_1value.html#aa58d1fe3e62a974eb331287ede1771bf">array_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classjsonv_1_1value.html#ae8a94ae8199b6de18e9e27347b6a2dd7">begin_array</a> ()</td></tr>
<tr class="memdesc:ae8a94ae8199b6de18e9e27347b6a2dd7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get an iterator to the beginning of this array.  <a href="#ae8a94ae8199b6de18e9e27347b6a2dd7">More...</a><br /></td></tr>
<tr class="separator:ae8a94ae8199b6de18e9e27347b6a2dd7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a72a7eb73b8dc470dec2c746e3af60c6c"><td class="memItemLeft" align="right" valign="top"><a id="a72a7eb73b8dc470dec2c746e3af60c6c"></a>
<a class="el" href="structjsonv_1_1value_1_1basic__array__iterator.html">const_array_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><b>begin_array</b> () const</td></tr>
<tr class="separator:a72a7eb73b8dc470dec2c746e3af60c6c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae8e46475135847419326f43bb8652030"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classjsonv_1_1value.html#aa58d1fe3e62a974eb331287ede1771bf">array_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classjsonv_1_1value.html#ae8e46475135847419326f43bb8652030">end_array</a> ()</td></tr>
<tr class="memdesc:ae8e46475135847419326f43bb8652030"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get an iterator to the end of this array.  <a href="#ae8e46475135847419326f43bb8652030">More...</a><br /></td></tr>
<tr class="separator:ae8e46475135847419326f43bb8652030"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9f96056342b99045831b16a77bbd44fd"><td class="memItemLeft" align="right" valign="top"><a id="a9f96056342b99045831b16a77bbd44fd"></a>
<a class="el" href="structjsonv_1_1value_1_1basic__array__iterator.html">const_array_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><b>end_array</b> () const</td></tr>
<tr class="separator:a9f96056342b99045831b16a77bbd44fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a410e0768e350ebfdccc853da11a975e5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classjsonv_1_1value.html#a5f593b7e5b1958a3f602cb809a9dc77f">array_view</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classjsonv_1_1value.html#a410e0768e350ebfdccc853da11a975e5">as_array</a> () &amp;</td></tr>
<tr class="memdesc:a410e0768e350ebfdccc853da11a975e5"><td class="mdescLeft">&#160;</td><td class="mdescRight">View this instance as an array.  <a href="#a410e0768e350ebfdccc853da11a975e5">More...</a><br /></td></tr>
<tr class="separator:a410e0768e350ebfdccc853da11a975e5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afd838ab36db9aeea9f7fa53c702bc154"><td class="memItemLeft" align="right" valign="top"><a id="afd838ab36db9aeea9f7fa53c702bc154"></a>
<a class="el" href="classjsonv_1_1detail_1_1basic__view.html">const_array_view</a>&#160;</td><td class="memItemRight" valign="bottom"><b>as_array</b> () const &amp;</td></tr>
<tr class="separator:afd838ab36db9aeea9f7fa53c702bc154"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3d33501dbb1f3412ab49b1543efe505f"><td class="memItemLeft" align="right" valign="top"><a id="a3d33501dbb1f3412ab49b1543efe505f"></a>
<a class="el" href="classjsonv_1_1detail_1_1basic__owning__view.html">owning_array_view</a>&#160;</td><td class="memItemRight" valign="bottom"><b>as_array</b> () &amp;&amp;</td></tr>
<tr class="separator:a3d33501dbb1f3412ab49b1543efe505f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a08a88ea17e35fd2c7844ce4c7768bf12"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classjsonv_1_1value.html">value</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classjsonv_1_1value.html#a08a88ea17e35fd2c7844ce4c7768bf12">operator[]</a> (size_type idx)</td></tr>
<tr class="memdesc:a08a88ea17e35fd2c7844ce4c7768bf12"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the value in this array at the given <em>idx</em>.  <a href="#a08a88ea17e35fd2c7844ce4c7768bf12">More...</a><br /></td></tr>
<tr class="separator:a08a88ea17e35fd2c7844ce4c7768bf12"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a029f096afb20905f91820f7327d1d9b4"><td class="memItemLeft" align="right" valign="top"><a id="a029f096afb20905f91820f7327d1d9b4"></a>
const <a class="el" href="classjsonv_1_1value.html">value</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator[]</b> (size_type idx) const</td></tr>
<tr class="separator:a029f096afb20905f91820f7327d1d9b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a848090429593c135c3798925fd659119"><td class="memItemLeft" align="right" valign="top"><a id="a848090429593c135c3798925fd659119"></a>
<a class="el" href="classjsonv_1_1value.html">value</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator[]</b> (int idx)</td></tr>
<tr class="separator:a848090429593c135c3798925fd659119"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6bcd2a6dfe7a03982f4b4e32f514aec2"><td class="memItemLeft" align="right" valign="top"><a id="a6bcd2a6dfe7a03982f4b4e32f514aec2"></a>
const <a class="el" href="classjsonv_1_1value.html">value</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator[]</b> (int idx) const</td></tr>
<tr class="separator:a6bcd2a6dfe7a03982f4b4e32f514aec2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad1978289ca5b93314f1faf54787d3e22"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classjsonv_1_1value.html">value</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classjsonv_1_1value.html#ad1978289ca5b93314f1faf54787d3e22">at</a> (size_type idx)</td></tr>
<tr class="memdesc:ad1978289ca5b93314f1faf54787d3e22"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the value in this array at the given <em>idx</em>.  <a href="#ad1978289ca5b93314f1faf54787d3e22">More...</a><br /></td></tr>
<tr class="separator:ad1978289ca5b93314f1faf54787d3e22"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a49a60a3784a3b8aa5e892a2de27dc930"><td class="memItemLeft" align="right" valign="top"><a id="a49a60a3784a3b8aa5e892a2de27dc930"></a>
const <a class="el" href="classjsonv_1_1value.html">value</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>at</b> (size_type idx) const</td></tr>
<tr class="separator:a49a60a3784a3b8aa5e892a2de27dc930"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac8dadf575c194b8685abe745ccf78967"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classjsonv_1_1value.html#ac8dadf575c194b8685abe745ccf78967">push_back</a> (<a class="el" href="classjsonv_1_1value.html">value</a> item)</td></tr>
<tr class="memdesc:ac8dadf575c194b8685abe745ccf78967"><td class="mdescLeft">&#160;</td><td class="mdescRight">Push <em>item</em> to the back of this array.  <a href="#ac8dadf575c194b8685abe745ccf78967">More...</a><br /></td></tr>
<tr class="separator:ac8dadf575c194b8685abe745ccf78967"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adfa8dbeba86d9ad39610d7972d995eaf"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classjsonv_1_1value.html#adfa8dbeba86d9ad39610d7972d995eaf">pop_back</a> ()</td></tr>
<tr class="memdesc:adfa8dbeba86d9ad39610d7972d995eaf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pop an item off the back of this array.  <a href="#adfa8dbeba86d9ad39610d7972d995eaf">More...</a><br /></td></tr>
<tr class="separator:adfa8dbeba86d9ad39610d7972d995eaf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a94242bf7d37ef7ae32abe4b3fb553f2a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classjsonv_1_1value.html#a94242bf7d37ef7ae32abe4b3fb553f2a">push_front</a> (<a class="el" href="classjsonv_1_1value.html">value</a> item)</td></tr>
<tr class="memdesc:a94242bf7d37ef7ae32abe4b3fb553f2a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Push <em>item</em> to the front of this array.  <a href="#a94242bf7d37ef7ae32abe4b3fb553f2a">More...</a><br /></td></tr>
<tr class="separator:a94242bf7d37ef7ae32abe4b3fb553f2a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad7cec4c8d1d57aa153605b321dd1b0e9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classjsonv_1_1value.html#ad7cec4c8d1d57aa153605b321dd1b0e9">pop_front</a> ()</td></tr>
<tr class="memdesc:ad7cec4c8d1d57aa153605b321dd1b0e9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pop an item from the front of this array.  <a href="#ad7cec4c8d1d57aa153605b321dd1b0e9">More...</a><br /></td></tr>
<tr class="separator:ad7cec4c8d1d57aa153605b321dd1b0e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae19ed935e84e274c0cc93fd397498d3a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classjsonv_1_1value.html#aa58d1fe3e62a974eb331287ede1771bf">array_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classjsonv_1_1value.html#ae19ed935e84e274c0cc93fd397498d3a">insert</a> (<a class="el" href="structjsonv_1_1value_1_1basic__array__iterator.html">const_array_iterator</a> position, <a class="el" href="classjsonv_1_1value.html">value</a> item)</td></tr>
<tr class="memdesc:ae19ed935e84e274c0cc93fd397498d3a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Insert an item into <em>position</em> on this array.  <a href="#ae19ed935e84e274c0cc93fd397498d3a">More...</a><br /></td></tr>
<tr class="separator:ae19ed935e84e274c0cc93fd397498d3a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a80ba8ef75cdb0a1b64b9d7ab9df5f723"><td class="memTemplParams" colspan="2">template&lt;typename TForwardIterator &gt; </td></tr>
<tr class="memitem:a80ba8ef75cdb0a1b64b9d7ab9df5f723"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="classjsonv_1_1value.html#aa58d1fe3e62a974eb331287ede1771bf">array_iterator</a>&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classjsonv_1_1value.html#a80ba8ef75cdb0a1b64b9d7ab9df5f723">insert</a> (<a class="el" href="structjsonv_1_1value_1_1basic__array__iterator.html">const_array_iterator</a> position, TForwardIterator first, TForwardIterator last)</td></tr>
<tr class="memdesc:a80ba8ef75cdb0a1b64b9d7ab9df5f723"><td class="mdescLeft">&#160;</td><td class="mdescRight">Insert the range defined by [<em>first</em>, <em>last</em>) at <em>position</em> in this array.  <a href="#a80ba8ef75cdb0a1b64b9d7ab9df5f723">More...</a><br /></td></tr>
<tr class="separator:a80ba8ef75cdb0a1b64b9d7ab9df5f723"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a34cbe426ef55efe31111bed84c3f6dba"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classjsonv_1_1value.html#a34cbe426ef55efe31111bed84c3f6dba">assign</a> (size_type <a class="el" href="classjsonv_1_1value.html#a304ab6c04b0def73dd130cabb9cf1eee">count</a>, const <a class="el" href="classjsonv_1_1value.html">value</a> &amp;val)</td></tr>
<tr class="memdesc:a34cbe426ef55efe31111bed84c3f6dba"><td class="mdescLeft">&#160;</td><td class="mdescRight">Assign <em>count</em> elements to this array with <em>val</em>.  <a href="#a34cbe426ef55efe31111bed84c3f6dba">More...</a><br /></td></tr>
<tr class="separator:a34cbe426ef55efe31111bed84c3f6dba"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a02c37341353a2b3897d346ae153d6659"><td class="memTemplParams" colspan="2">template&lt;typename TForwardIterator &gt; </td></tr>
<tr class="memitem:a02c37341353a2b3897d346ae153d6659"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classjsonv_1_1value.html#a02c37341353a2b3897d346ae153d6659">assign</a> (TForwardIterator first, TForwardIterator last)</td></tr>
<tr class="memdesc:a02c37341353a2b3897d346ae153d6659"><td class="mdescLeft">&#160;</td><td class="mdescRight">Assign the contents of range [<em>first</em>, <em>last</em>) to this array.  <a href="#a02c37341353a2b3897d346ae153d6659">More...</a><br /></td></tr>
<tr class="separator:a02c37341353a2b3897d346ae153d6659"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aecce2dbe3b0d2064d3d713b67a99955a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classjsonv_1_1value.html#aecce2dbe3b0d2064d3d713b67a99955a">assign</a> (std::initializer_list&lt; <a class="el" href="classjsonv_1_1value.html">value</a> &gt; items)</td></tr>
<tr class="memdesc:aecce2dbe3b0d2064d3d713b67a99955a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Assign the given <em>items</em> to this array.  <a href="#aecce2dbe3b0d2064d3d713b67a99955a">More...</a><br /></td></tr>
<tr class="separator:aecce2dbe3b0d2064d3d713b67a99955a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a961156664c4bf71ebe27c516be6d8ae9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classjsonv_1_1value.html#a961156664c4bf71ebe27c516be6d8ae9">resize</a> (size_type <a class="el" href="classjsonv_1_1value.html#a304ab6c04b0def73dd130cabb9cf1eee">count</a>, const <a class="el" href="classjsonv_1_1value.html">value</a> &amp;val=<a class="el" href="classjsonv_1_1value.html">value</a>())</td></tr>
<tr class="memdesc:a961156664c4bf71ebe27c516be6d8ae9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Resize the length of this array to <em>count</em> items.  <a href="#a961156664c4bf71ebe27c516be6d8ae9">More...</a><br /></td></tr>
<tr class="separator:a961156664c4bf71ebe27c516be6d8ae9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7b480563d0e93fc21018e088ac38646d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classjsonv_1_1value.html#aa58d1fe3e62a974eb331287ede1771bf">array_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classjsonv_1_1value.html#a7b480563d0e93fc21018e088ac38646d">erase</a> (<a class="el" href="structjsonv_1_1value_1_1basic__array__iterator.html">const_array_iterator</a> position)</td></tr>
<tr class="memdesc:a7b480563d0e93fc21018e088ac38646d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Erase the item at this array's <em>position</em>.  <a href="#a7b480563d0e93fc21018e088ac38646d">More...</a><br /></td></tr>
<tr class="separator:a7b480563d0e93fc21018e088ac38646d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1a32487f57f0c8c6de20394e17d4f768"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classjsonv_1_1value.html#aa58d1fe3e62a974eb331287ede1771bf">array_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classjsonv_1_1value.html#a1a32487f57f0c8c6de20394e17d4f768">erase</a> (<a class="el" href="structjsonv_1_1value_1_1basic__array__iterator.html">const_array_iterator</a> first, <a class="el" href="structjsonv_1_1value_1_1basic__array__iterator.html">const_array_iterator</a> last)</td></tr>
<tr class="memdesc:a1a32487f57f0c8c6de20394e17d4f768"><td class="mdescLeft">&#160;</td><td class="mdescRight">Erase the range [<em>first</em>, <em>last</em>) from this array.  <a href="#a1a32487f57f0c8c6de20394e17d4f768">More...</a><br /></td></tr>
<tr class="separator:a1a32487f57f0c8c6de20394e17d4f768"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acf1294913abd859ce337eac45c6d7426"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classjsonv_1_1value.html#a318c2006b4bc53859c444604995ebc05">object_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classjsonv_1_1value.html#acf1294913abd859ce337eac45c6d7426">begin_object</a> ()</td></tr>
<tr class="memdesc:acf1294913abd859ce337eac45c6d7426"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get an iterator to the first key-value pair in this object.  <a href="#acf1294913abd859ce337eac45c6d7426">More...</a><br /></td></tr>
<tr class="separator:acf1294913abd859ce337eac45c6d7426"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5d472ce0ccfb6b1fd50467c88dd0f6a9"><td class="memItemLeft" align="right" valign="top"><a id="a5d472ce0ccfb6b1fd50467c88dd0f6a9"></a>
<a class="el" href="structjsonv_1_1value_1_1basic__object__iterator.html">const_object_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><b>begin_object</b> () const</td></tr>
<tr class="separator:a5d472ce0ccfb6b1fd50467c88dd0f6a9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4575cef7e4195a25eeba35a7f15b2fbd"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classjsonv_1_1value.html#a318c2006b4bc53859c444604995ebc05">object_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classjsonv_1_1value.html#a4575cef7e4195a25eeba35a7f15b2fbd">end_object</a> ()</td></tr>
<tr class="memdesc:a4575cef7e4195a25eeba35a7f15b2fbd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get an iterator to the one past the end of this object.  <a href="#a4575cef7e4195a25eeba35a7f15b2fbd">More...</a><br /></td></tr>
<tr class="separator:a4575cef7e4195a25eeba35a7f15b2fbd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2e96f02ce5832823739114275c8163c2"><td class="memItemLeft" align="right" valign="top"><a id="a2e96f02ce5832823739114275c8163c2"></a>
<a class="el" href="structjsonv_1_1value_1_1basic__object__iterator.html">const_object_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><b>end_object</b> () const</td></tr>
<tr class="separator:a2e96f02ce5832823739114275c8163c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ada539b93e4e6d88d802bf5a0377ad68d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classjsonv_1_1value.html#a39d2820f80eac817a14d5e129de46449">object_view</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classjsonv_1_1value.html#ada539b93e4e6d88d802bf5a0377ad68d">as_object</a> () &amp;</td></tr>
<tr class="memdesc:ada539b93e4e6d88d802bf5a0377ad68d"><td class="mdescLeft">&#160;</td><td class="mdescRight">View this instance as an object.  <a href="#ada539b93e4e6d88d802bf5a0377ad68d">More...</a><br /></td></tr>
<tr class="separator:ada539b93e4e6d88d802bf5a0377ad68d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae2fd82a7be4f41cd55265226e2d3d2b9"><td class="memItemLeft" align="right" valign="top"><a id="ae2fd82a7be4f41cd55265226e2d3d2b9"></a>
<a class="el" href="classjsonv_1_1detail_1_1basic__view.html">const_object_view</a>&#160;</td><td class="memItemRight" valign="bottom"><b>as_object</b> () const &amp;</td></tr>
<tr class="separator:ae2fd82a7be4f41cd55265226e2d3d2b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac77e61c5f73cc73bd825472b66e8db24"><td class="memItemLeft" align="right" valign="top"><a id="ac77e61c5f73cc73bd825472b66e8db24"></a>
<a class="el" href="classjsonv_1_1detail_1_1basic__owning__view.html">owning_object_view</a>&#160;</td><td class="memItemRight" valign="bottom"><b>as_object</b> () &amp;&amp;</td></tr>
<tr class="separator:ac77e61c5f73cc73bd825472b66e8db24"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab9121a691d21e33d03773489114cb623"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classjsonv_1_1value.html">value</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classjsonv_1_1value.html#ab9121a691d21e33d03773489114cb623">operator[]</a> (const std::string &amp;key)</td></tr>
<tr class="memdesc:ab9121a691d21e33d03773489114cb623"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the value associated with the given <em>key</em> of this object.  <a href="#ab9121a691d21e33d03773489114cb623">More...</a><br /></td></tr>
<tr class="separator:ab9121a691d21e33d03773489114cb623"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab75bdfc63eac5469201270cc682c01f5"><td class="memItemLeft" align="right" valign="top"><a id="ab75bdfc63eac5469201270cc682c01f5"></a>
<a class="el" href="classjsonv_1_1value.html">value</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator[]</b> (std::string &amp;&amp;key)</td></tr>
<tr class="separator:ab75bdfc63eac5469201270cc682c01f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa984752a5660abf8c5b75a5eae4a8787"><td class="memItemLeft" align="right" valign="top"><a id="aa984752a5660abf8c5b75a5eae4a8787"></a>
<a class="el" href="classjsonv_1_1value.html">value</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator[]</b> (const std::wstring &amp;key)</td></tr>
<tr class="separator:aa984752a5660abf8c5b75a5eae4a8787"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2bf8ac39a2be8fc276f0a8937010036f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classjsonv_1_1value.html">value</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classjsonv_1_1value.html#a2bf8ac39a2be8fc276f0a8937010036f">at</a> (const std::string &amp;key)</td></tr>
<tr class="memdesc:a2bf8ac39a2be8fc276f0a8937010036f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the value associated with the given <em>key</em> of this object.  <a href="#a2bf8ac39a2be8fc276f0a8937010036f">More...</a><br /></td></tr>
<tr class="separator:a2bf8ac39a2be8fc276f0a8937010036f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac72f23dc489b369bc1aabbe1dada6e91"><td class="memItemLeft" align="right" valign="top"><a id="ac72f23dc489b369bc1aabbe1dada6e91"></a>
<a class="el" href="classjsonv_1_1value.html">value</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>at</b> (const std::wstring &amp;key)</td></tr>
<tr class="separator:ac72f23dc489b369bc1aabbe1dada6e91"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a96f435ec00f34a2d92d578d17fb557b2"><td class="memItemLeft" align="right" valign="top"><a id="a96f435ec00f34a2d92d578d17fb557b2"></a>
const <a class="el" href="classjsonv_1_1value.html">value</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>at</b> (const std::string &amp;key) const</td></tr>
<tr class="separator:a96f435ec00f34a2d92d578d17fb557b2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4b677fad45fdf483742ef513e19cf337"><td class="memItemLeft" align="right" valign="top"><a id="a4b677fad45fdf483742ef513e19cf337"></a>
const <a class="el" href="classjsonv_1_1value.html">value</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>at</b> (const std::wstring &amp;key) const</td></tr>
<tr class="separator:a4b677fad45fdf483742ef513e19cf337"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a304ab6c04b0def73dd130cabb9cf1eee"><td class="memItemLeft" align="right" valign="top">size_type&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classjsonv_1_1value.html#a304ab6c04b0def73dd130cabb9cf1eee">count</a> (const std::string &amp;key) const</td></tr>
<tr class="memdesc:a304ab6c04b0def73dd130cabb9cf1eee"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check if the given <em>key</em> exists in this object.  <a href="#a304ab6c04b0def73dd130cabb9cf1eee">More...</a><br /></td></tr>
<tr class="separator:a304ab6c04b0def73dd130cabb9cf1eee"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a617eb3b3ecef0e4271d93308096b7a3d"><td class="memItemLeft" align="right" valign="top"><a id="a617eb3b3ecef0e4271d93308096b7a3d"></a>
size_type&#160;</td><td class="memItemRight" valign="bottom"><b>count</b> (const std::wstring &amp;key) const</td></tr>
<tr class="separator:a617eb3b3ecef0e4271d93308096b7a3d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a765ff56aa009ddea1a7360f0f9acb93a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classjsonv_1_1value.html#a318c2006b4bc53859c444604995ebc05">object_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classjsonv_1_1value.html#a765ff56aa009ddea1a7360f0f9acb93a">find</a> (const std::string &amp;key)</td></tr>
<tr class="memdesc:a765ff56aa009ddea1a7360f0f9acb93a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Attempt to locate a key-value pair with the provided <em>key</em> in this object.  <a href="#a765ff56aa009ddea1a7360f0f9acb93a">More...</a><br /></td></tr>
<tr class="separator:a765ff56aa009ddea1a7360f0f9acb93a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2b361087e80453b622acd01635ecbdf3"><td class="memItemLeft" align="right" valign="top"><a id="a2b361087e80453b622acd01635ecbdf3"></a>
<a class="el" href="classjsonv_1_1value.html#a318c2006b4bc53859c444604995ebc05">object_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><b>find</b> (const std::wstring &amp;key)</td></tr>
<tr class="separator:a2b361087e80453b622acd01635ecbdf3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a99668c76e3d38872e1eee9f85143ca6b"><td class="memItemLeft" align="right" valign="top"><a id="a99668c76e3d38872e1eee9f85143ca6b"></a>
<a class="el" href="structjsonv_1_1value_1_1basic__object__iterator.html">const_object_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><b>find</b> (const std::string &amp;key) const</td></tr>
<tr class="separator:a99668c76e3d38872e1eee9f85143ca6b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac51c33238379a525f3ec3dfe108a1356"><td class="memItemLeft" align="right" valign="top"><a id="ac51c33238379a525f3ec3dfe108a1356"></a>
<a class="el" href="structjsonv_1_1value_1_1basic__object__iterator.html">const_object_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><b>find</b> (const std::wstring &amp;key) const</td></tr>
<tr class="separator:ac51c33238379a525f3ec3dfe108a1356"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a18556ec6776802192654465625550fc6"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classjsonv_1_1value.html#a18556ec6776802192654465625550fc6">empty</a> () const</td></tr>
<tr class="memdesc:a18556ec6776802192654465625550fc6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Is the underlying structure empty? This has similar meaning for all types it works on and is always equivalent to asking if the size is 0.  <a href="#a18556ec6776802192654465625550fc6">More...</a><br /></td></tr>
<tr class="separator:a18556ec6776802192654465625550fc6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afbb32de6f0f33f440085417b70ec9a75"><td class="memItemLeft" align="right" valign="top">size_type&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classjsonv_1_1value.html#afbb32de6f0f33f440085417b70ec9a75">size</a> () const</td></tr>
<tr class="memdesc:afbb32de6f0f33f440085417b70ec9a75"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the number of items in this value.  <a href="#afbb32de6f0f33f440085417b70ec9a75">More...</a><br /></td></tr>
<tr class="separator:afbb32de6f0f33f440085417b70ec9a75"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9e2e68ce801ca3c29f80f104dd12c99d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classjsonv_1_1value.html">value</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Algorithm.html#ga9e2e68ce801ca3c29f80f104dd12c99d">map</a> (const std::function&lt; <a class="el" href="classjsonv_1_1value.html">value</a>(const <a class="el" href="classjsonv_1_1value.html">value</a> &amp;)&gt; &amp;func) const &amp;</td></tr>
<tr class="memdesc:ga9e2e68ce801ca3c29f80f104dd12c99d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Run a function over the values of this instance.  <a href="group__Algorithm.html#ga9e2e68ce801ca3c29f80f104dd12c99d">More...</a><br /></td></tr>
<tr class="separator:ga9e2e68ce801ca3c29f80f104dd12c99d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga90c7b3b2525144b37b24593db0f8d5a9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classjsonv_1_1value.html">value</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Algorithm.html#ga90c7b3b2525144b37b24593db0f8d5a9">map</a> (const std::function&lt; <a class="el" href="classjsonv_1_1value.html">value</a>(<a class="el" href="classjsonv_1_1value.html">value</a>)&gt; &amp;func) &amp;&amp;</td></tr>
<tr class="memdesc:ga90c7b3b2525144b37b24593db0f8d5a9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Run a function over the values of this instance.  <a href="group__Algorithm.html#ga90c7b3b2525144b37b24593db0f8d5a9">More...</a><br /></td></tr>
<tr class="separator:ga90c7b3b2525144b37b24593db0f8d5a9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
<tr class="memitem:ab1bb3e772366da9b594e58fdf8e8aa57"><td class="memItemLeft" align="right" valign="top">std::pair&lt; <a class="el" href="classjsonv_1_1value.html#a318c2006b4bc53859c444604995ebc05">object_iterator</a>, bool &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classjsonv_1_1value.html#ab1bb3e772366da9b594e58fdf8e8aa57">insert</a> (std::pair&lt; std::string, <a class="el" href="classjsonv_1_1value.html">value</a> &gt; pair)</td></tr>
<tr class="separator:ab1bb3e772366da9b594e58fdf8e8aa57"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a68760b7b1d088a1ae497bd59244e2574"><td class="memItemLeft" align="right" valign="top"><a id="a68760b7b1d088a1ae497bd59244e2574"></a>
std::pair&lt; <a class="el" href="classjsonv_1_1value.html#a318c2006b4bc53859c444604995ebc05">object_iterator</a>, bool &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>insert</b> (std::pair&lt; std::wstring, <a class="el" href="classjsonv_1_1value.html">value</a> &gt; pair)</td></tr>
<tr class="separator:a68760b7b1d088a1ae497bd59244e2574"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aabc202669d43c8031521c54e043f32f7"><td class="memItemLeft" align="right" valign="top"><a id="aabc202669d43c8031521c54e043f32f7"></a>
<a class="el" href="classjsonv_1_1value.html#a318c2006b4bc53859c444604995ebc05">object_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><b>insert</b> (<a class="el" href="structjsonv_1_1value_1_1basic__object__iterator.html">const_object_iterator</a> hint, std::pair&lt; std::string, <a class="el" href="classjsonv_1_1value.html">value</a> &gt; pair)</td></tr>
<tr class="separator:aabc202669d43c8031521c54e043f32f7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aab52175ecf9926215a0bb61657331d1f"><td class="memItemLeft" align="right" valign="top"><a id="aab52175ecf9926215a0bb61657331d1f"></a>
<a class="el" href="classjsonv_1_1value.html#a318c2006b4bc53859c444604995ebc05">object_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><b>insert</b> (<a class="el" href="structjsonv_1_1value_1_1basic__object__iterator.html">const_object_iterator</a> hint, std::pair&lt; std::wstring, <a class="el" href="classjsonv_1_1value.html">value</a> &gt; pair)</td></tr>
<tr class="separator:aab52175ecf9926215a0bb61657331d1f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5b86bbeebd1d761d9a4598ee4baabe42"><td class="memTemplParams" colspan="2">template&lt;typename TForwardIterator &gt; </td></tr>
<tr class="memitem:a5b86bbeebd1d761d9a4598ee4baabe42"><td class="memTemplItemLeft" align="right" valign="top">void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classjsonv_1_1value.html#a5b86bbeebd1d761d9a4598ee4baabe42">insert</a> (TForwardIterator first, TForwardIterator last)</td></tr>
<tr class="memdesc:a5b86bbeebd1d761d9a4598ee4baabe42"><td class="mdescLeft">&#160;</td><td class="mdescRight">Insert range defined by [<em>first</em>, <em>last</em>) into this object.  <a href="#a5b86bbeebd1d761d9a4598ee4baabe42">More...</a><br /></td></tr>
<tr class="separator:a5b86bbeebd1d761d9a4598ee4baabe42"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7492a8e08ce8eb0a07b0284cbcf414c6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classjsonv_1_1value.html#structjsonv_1_1value_1_1object__insert__return__type">object_insert_return_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classjsonv_1_1value.html#a7492a8e08ce8eb0a07b0284cbcf414c6">insert</a> (<a class="el" href="classjsonv_1_1object__node__handle.html">object_node_handle</a> &amp;&amp;handle)</td></tr>
<tr class="memdesc:a7492a8e08ce8eb0a07b0284cbcf414c6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Insert the contents of <em>handle</em>.  <a href="#a7492a8e08ce8eb0a07b0284cbcf414c6">More...</a><br /></td></tr>
<tr class="separator:a7492a8e08ce8eb0a07b0284cbcf414c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a75aed835b58c9ba209c10aa03cf0b696"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classjsonv_1_1value.html#a318c2006b4bc53859c444604995ebc05">object_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classjsonv_1_1value.html#a75aed835b58c9ba209c10aa03cf0b696">insert</a> (<a class="el" href="structjsonv_1_1value_1_1basic__object__iterator.html">const_object_iterator</a> hint, <a class="el" href="classjsonv_1_1object__node__handle.html">object_node_handle</a> &amp;&amp;handle)</td></tr>
<tr class="memdesc:a75aed835b58c9ba209c10aa03cf0b696"><td class="mdescLeft">&#160;</td><td class="mdescRight">If <em>handle</em> is an empty node handle, does nothing and returns <a class="el" href="classjsonv_1_1value.html#a4575cef7e4195a25eeba35a7f15b2fbd">end_object</a>.  <a href="#a75aed835b58c9ba209c10aa03cf0b696">More...</a><br /></td></tr>
<tr class="separator:a75aed835b58c9ba209c10aa03cf0b696"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7c7c41413bcfcfebde5f2968458fc725"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classjsonv_1_1value.html#a7c7c41413bcfcfebde5f2968458fc725">insert</a> (std::initializer_list&lt; std::pair&lt; std::string, <a class="el" href="classjsonv_1_1value.html">value</a> &gt;&gt; items)</td></tr>
<tr class="memdesc:a7c7c41413bcfcfebde5f2968458fc725"><td class="mdescLeft">&#160;</td><td class="mdescRight">Insert <em>items</em> into this object.  <a href="#a7c7c41413bcfcfebde5f2968458fc725">More...</a><br /></td></tr>
<tr class="separator:a7c7c41413bcfcfebde5f2968458fc725"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a16aac07d87f888a7c1d48a9be799c65f"><td class="memItemLeft" align="right" valign="top"><a id="a16aac07d87f888a7c1d48a9be799c65f"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>insert</b> (std::initializer_list&lt; std::pair&lt; std::wstring, <a class="el" href="classjsonv_1_1value.html">value</a> &gt;&gt; items)</td></tr>
<tr class="separator:a16aac07d87f888a7c1d48a9be799c65f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
<tr class="memitem:ae5ee259b187051fa86ec1980c05408f5"><td class="memItemLeft" align="right" valign="top">size_type&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classjsonv_1_1value.html#ae5ee259b187051fa86ec1980c05408f5">erase</a> (const std::string &amp;key)</td></tr>
<tr class="separator:ae5ee259b187051fa86ec1980c05408f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac30ef969e4c00c9f8f959e9d30be509c"><td class="memItemLeft" align="right" valign="top"><a id="ac30ef969e4c00c9f8f959e9d30be509c"></a>
size_type&#160;</td><td class="memItemRight" valign="bottom"><b>erase</b> (const std::wstring &amp;key)</td></tr>
<tr class="separator:ac30ef969e4c00c9f8f959e9d30be509c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3524ccad9a4188014c507454ca38fc8f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classjsonv_1_1value.html#a318c2006b4bc53859c444604995ebc05">object_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classjsonv_1_1value.html#a3524ccad9a4188014c507454ca38fc8f">erase</a> (<a class="el" href="structjsonv_1_1value_1_1basic__object__iterator.html">const_object_iterator</a> position)</td></tr>
<tr class="memdesc:a3524ccad9a4188014c507454ca38fc8f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Erase the item at the given <em>position</em>.  <a href="#a3524ccad9a4188014c507454ca38fc8f">More...</a><br /></td></tr>
<tr class="separator:a3524ccad9a4188014c507454ca38fc8f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adff0cf180eac1aaa3e95972a4a1671ab"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classjsonv_1_1value.html#a318c2006b4bc53859c444604995ebc05">object_iterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classjsonv_1_1value.html#adff0cf180eac1aaa3e95972a4a1671ab">erase</a> (<a class="el" href="structjsonv_1_1value_1_1basic__object__iterator.html">const_object_iterator</a> first, <a class="el" href="structjsonv_1_1value_1_1basic__object__iterator.html">const_object_iterator</a> last)</td></tr>
<tr class="memdesc:adff0cf180eac1aaa3e95972a4a1671ab"><td class="mdescLeft">&#160;</td><td class="mdescRight">Erase the range defined by [<em>first</em>, <em>last</em>).  <a href="#adff0cf180eac1aaa3e95972a4a1671ab">More...</a><br /></td></tr>
<tr class="separator:adff0cf180eac1aaa3e95972a4a1671ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
<tr class="memitem:a543d5d55c78d2de437cee6ed48b24ec6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classjsonv_1_1object__node__handle.html">object_node_handle</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classjsonv_1_1value.html#a543d5d55c78d2de437cee6ed48b24ec6">extract</a> (<a class="el" href="structjsonv_1_1value_1_1basic__object__iterator.html">const_object_iterator</a> position)</td></tr>
<tr class="separator:a543d5d55c78d2de437cee6ed48b24ec6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a60cb0bae07dcacda5377a1f10254023a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classjsonv_1_1object__node__handle.html">object_node_handle</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classjsonv_1_1value.html#a60cb0bae07dcacda5377a1f10254023a">extract</a> (const std::string &amp;key)</td></tr>
<tr class="memdesc:a60cb0bae07dcacda5377a1f10254023a"><td class="mdescLeft">&#160;</td><td class="mdescRight">If the container has an element with the given <em>key</em>, unlinks the node that contains that element from the container and returns a node handle that owns it.  <a href="#a60cb0bae07dcacda5377a1f10254023a">More...</a><br /></td></tr>
<tr class="separator:a60cb0bae07dcacda5377a1f10254023a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae878569f343ad04b4fce3096b0d0bec1"><td class="memItemLeft" align="right" valign="top"><a id="ae878569f343ad04b4fce3096b0d0bec1"></a>
<a class="el" href="classjsonv_1_1object__node__handle.html">object_node_handle</a>&#160;</td><td class="memItemRight" valign="bottom"><b>extract</b> (const std::wstring &amp;key)</td></tr>
<tr class="separator:ae878569f343ad04b4fce3096b0d0bec1"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
Friends</h2></td></tr>
<tr class="memitem:acff1f9d0e10df14e2a1440911e30ef7e"><td class="memItemLeft" align="right" valign="top">std::ostream &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classjsonv_1_1value.html#acff1f9d0e10df14e2a1440911e30ef7e">operator&lt;&lt;</a> (std::ostream &amp;stream, const <a class="el" href="classjsonv_1_1value.html">value</a> &amp;val)</td></tr>
<tr class="memdesc:acff1f9d0e10df14e2a1440911e30ef7e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Output this value to a stream.  <a href="#acff1f9d0e10df14e2a1440911e30ef7e">More...</a><br /></td></tr>
<tr class="separator:acff1f9d0e10df14e2a1440911e30ef7e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adac006e646d57212ae0de2f87917a584"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classjsonv_1_1value.html#adac006e646d57212ae0de2f87917a584">to_string</a> (const <a class="el" href="classjsonv_1_1value.html">value</a> &amp;)</td></tr>
<tr class="memdesc:adac006e646d57212ae0de2f87917a584"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a string representation of the given <code>value</code>.  <a href="#adac006e646d57212ae0de2f87917a584">More...</a><br /></td></tr>
<tr class="separator:adac006e646d57212ae0de2f87917a584"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a300b3a8329971c996c116513055cd72d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="config_8hpp.html#acd0703012bd724b356c177b7bc3d761d">JSONV_PUBLIC</a> <a class="el" href="classjsonv_1_1value.html">value</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classjsonv_1_1value.html#a300b3a8329971c996c116513055cd72d">array</a> ()</td></tr>
<tr class="memdesc:a300b3a8329971c996c116513055cd72d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create an empty array value.  <a href="#a300b3a8329971c996c116513055cd72d">More...</a><br /></td></tr>
<tr class="separator:a300b3a8329971c996c116513055cd72d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8d361da4d3ed314d2a56a24c723190d2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="config_8hpp.html#acd0703012bd724b356c177b7bc3d761d">JSONV_PUBLIC</a> <a class="el" href="classjsonv_1_1value.html">value</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classjsonv_1_1value.html#a8d361da4d3ed314d2a56a24c723190d2">object</a> ()</td></tr>
<tr class="memdesc:a8d361da4d3ed314d2a56a24c723190d2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create an empty object.  <a href="#a8d361da4d3ed314d2a56a24c723190d2">More...</a><br /></td></tr>
<tr class="separator:a8d361da4d3ed314d2a56a24c723190d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Represents a single JSON value, which can be any one of a potential <code>kind</code>, each behaving slightly differently. </p>
<p>Instances will vary their behavior based on their kind &ndash; functions will throw a <code><a class="el" href="classjsonv_1_1kind__error.html" title="Thrown from various value methods when attempting to perform an operation which is not valid for the ...">kind_error</a></code> if the operation does not apply to the value's kind. For example, it does not make sense to call <code>find</code> on an <code>integer</code>.</p>
<ul>
<li><code>kind::null</code> You cannot do anything with this...it is just null.</li>
<li><code>kind::boolean</code> These values can be <code>true</code> or <code>false</code>.</li>
<li><code>kind::integer</code> A numeric value which can be added, subtracted and all the other things you would expect.</li>
<li><code>kind::decimal</code> Floating-point values should be considered "more general" than integers &ndash; you may request an integer value as a decimal, but you cannot request a decimal as an integer, even when doing so would not require rounding. The literal <code>20.0</code> will always have <code>kind::decimal</code>.</li>
<li><code>kind::string</code> A UTF-8 encoded string which is mostly accessed through the <code>std::string</code> class. Some random functions work in the cases where it makes sense (for example: <code>empty</code> and <code>size</code>), but in general, string manipulation should be done after calling <code>as_string</code>.</li>
<li><code>kind::array</code> An array behaves like a <code>std::deque</code> because it is ultimately backed by one. If you feel the documentation is lacking, read this: <a href="http://en.cppreference.com/w/cpp/container/deque">http://en.cppreference.com/w/cpp/container/deque</a>.</li>
<li><code>kind::object</code> An object behaves lake a <code>std::map</code> because it is ultimately backed by one. If you feel the documentation is lacking, read this: <a href="http://en.cppreference.com/w/cpp/container/map">http://en.cppreference.com/w/cpp/container/map</a>. This library follows the recommendation in RFC 7159 to not allow for duplicate keys because most other libraries can not deal with it. It would also make the AST significantly more painful.</li>
</ul>
<dl class="section see"><dt>See also</dt><dd><a href="http://json.org/">http://json.org/</a> </dd>
<dd>
<a href="http://tools.ietf.org/html/rfc7159">http://tools.ietf.org/html/rfc7159</a> </dd></dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="parse_07std_1_1istream_6_00_01const_01parse_options_6_08-example.html#_a0">parse(std::istream&amp;, const parse_options&amp;)</a>, and <a class="el" href="parse_07tokenizer_6_00_01const_01parse_options_6_08-example.html#_a3">parse(tokenizer&amp;, const parse_options&amp;)</a>.</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="value_8hpp_source.html#l00131">131</a> of file <a class="el" href="value_8hpp_source.html">value.hpp</a>.</p>
</div><hr/><h2 class="groupheader">Class Documentation</h2>
<a name="structjsonv_1_1value_1_1object__insert__return__type" id="structjsonv_1_1value_1_1object__insert__return__type"></a>
<h2 class="memtitle"><span class="permalink"><a href="#structjsonv_1_1value_1_1object__insert__return__type">&#9670;&nbsp;</a></span>jsonv::value::object_insert_return_type</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct jsonv::value::object_insert_return_type</td>
        </tr>
      </table>
</div><div class="memdoc">
<div class="textblock"><p>Type returned from <code>insert</code> operations when this has kind::object. </p>
<p>It is generally compatible with the <code>insert_return_type</code> of <code>std::map</code>, with the notable lack of <code>node</code>.</p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classjsonv_1_1value.html#ae19ed935e84e274c0cc93fd397498d3a" title="Insert an item into position on this array. ">insert</a> </dd></dl>

<p class="definition">Definition at line <a class="el" href="value_8hpp_source.html#l00420">420</a> of file <a class="el" href="value_8hpp_source.html">value.hpp</a>.</p>
</div><table class="fieldtable">
<tr><th colspan="3">Class Members</th></tr>
<tr><td class="fieldtype">
<a id="ad683d0674dba1130d026ec93385669bf"></a>bool</td>
<td class="fieldname">
inserted</td>
<td class="fielddoc">
Did the insert operation perform an insert? A value of <code>false</code> indicates there was a key already present with the same name. </td></tr>
<tr><td class="fieldtype">
<a id="ac84e8ac72d1d78045bc79ea62351b95b"></a><a class="el" href="structjsonv_1_1value_1_1basic__object__iterator.html">const_object_iterator</a></td>
<td class="fieldname">
position</td>
<td class="fielddoc">
The position of the inserted node or node with the duplicate key. </td></tr>
</table>

</div>
</div>
<h2 class="groupheader">Member Typedef Documentation</h2>
<a id="aa58d1fe3e62a974eb331287ede1771bf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa58d1fe3e62a974eb331287ede1771bf">&#9670;&nbsp;</a></span>array_iterator</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="structjsonv_1_1value_1_1basic__array__iterator.html">basic_array_iterator</a>&lt;<a class="el" href="classjsonv_1_1value.html">value</a>, <a class="el" href="classjsonv_1_1value.html">value</a>&gt; <a class="el" href="classjsonv_1_1value.html#aa58d1fe3e62a974eb331287ede1771bf">jsonv::value::array_iterator</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>The <code>array_iterator</code> is applicable when <code>kind</code> is <code>kind::array</code>. </p>
<p>It allows you to use algorithms as if a <code>value</code> was a normal sequence container. </p>

<p class="definition">Definition at line <a class="el" href="value_8hpp_source.html#l00278">278</a> of file <a class="el" href="value_8hpp_source.html">value.hpp</a>.</p>

</div>
</div>
<a id="a5f593b7e5b1958a3f602cb809a9dc77f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5f593b7e5b1958a3f602cb809a9dc77f">&#9670;&nbsp;</a></span>array_view</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="classjsonv_1_1detail_1_1basic__view.html">detail::basic_view</a>&lt;<a class="el" href="classjsonv_1_1value.html#aa58d1fe3e62a974eb331287ede1771bf">array_iterator</a>, <a class="el" href="structjsonv_1_1value_1_1basic__array__iterator.html">const_array_iterator</a>&gt; <a class="el" href="classjsonv_1_1value.html#a5f593b7e5b1958a3f602cb809a9dc77f">jsonv::value::array_view</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>If <code>kind</code> is <code>kind::array</code>, an <code>array_view</code> allows you to access a value as a sequence container. </p>
<p>This is most useful for range-based for loops. </p>

<p class="definition">Definition at line <a class="el" href="value_8hpp_source.html#l00284">284</a> of file <a class="el" href="value_8hpp_source.html">value.hpp</a>.</p>

</div>
</div>
<a id="a318c2006b4bc53859c444604995ebc05"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a318c2006b4bc53859c444604995ebc05">&#9670;&nbsp;</a></span>object_iterator</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="structjsonv_1_1value_1_1basic__object__iterator.html">basic_object_iterator</a>&lt;<a class="el" href="classjsonv_1_1value.html#abf0673825595a5326e65544af770b4dd">object_value_type</a>, std::map&lt;std::string, <a class="el" href="classjsonv_1_1value.html">value</a>&gt;::iterator&gt; <a class="el" href="classjsonv_1_1value.html#a318c2006b4bc53859c444604995ebc05">jsonv::value::object_iterator</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>The <code>object_iterator</code> is applicable when <code>kind</code> is <code>kind::object</code>. </p>
<p>It allows you to use algorithms as if a <code>value</code> was a normal associative container. </p>

<p class="definition">Definition at line <a class="el" href="value_8hpp_source.html#l00406">406</a> of file <a class="el" href="value_8hpp_source.html">value.hpp</a>.</p>

</div>
</div>
<a id="abf0673825595a5326e65544af770b4dd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abf0673825595a5326e65544af770b4dd">&#9670;&nbsp;</a></span>object_value_type</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef std::pair&lt;const std::string, <a class="el" href="classjsonv_1_1value.html">value</a>&gt; <a class="el" href="classjsonv_1_1value.html#abf0673825595a5326e65544af770b4dd">jsonv::value::object_value_type</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>The type of value stored when <code>kind</code> is <code>kind::object</code>. </p>

<p class="definition">Definition at line <a class="el" href="value_8hpp_source.html#l00401">401</a> of file <a class="el" href="value_8hpp_source.html">value.hpp</a>.</p>

</div>
</div>
<a id="a39d2820f80eac817a14d5e129de46449"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a39d2820f80eac817a14d5e129de46449">&#9670;&nbsp;</a></span>object_view</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="classjsonv_1_1detail_1_1basic__view.html">detail::basic_view</a>&lt;<a class="el" href="classjsonv_1_1value.html#a318c2006b4bc53859c444604995ebc05">object_iterator</a>, <a class="el" href="structjsonv_1_1value_1_1basic__object__iterator.html">const_object_iterator</a>&gt; <a class="el" href="classjsonv_1_1value.html#a39d2820f80eac817a14d5e129de46449">jsonv::value::object_view</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>If <code>kind</code> is <code>kind::object</code>, an <code>object_view</code> allows you to access a value as an associative container. </p>
<p>This is most useful for range-based for loops. </p>

<p class="definition">Definition at line <a class="el" href="value_8hpp_source.html#l00412">412</a> of file <a class="el" href="value_8hpp_source.html">value.hpp</a>.</p>

</div>
</div>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a1406cf5e3dbed488dfb62805db3ba43f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1406cf5e3dbed488dfb62805db3ba43f">&#9670;&nbsp;</a></span>value() <span class="overload">[1/13]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">constexpr jsonv::value::value </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Default-construct this to null. </p>

<p class="definition">Definition at line <a class="el" href="value_8hpp_source.html#l00432">432</a> of file <a class="el" href="value_8hpp_source.html">value.hpp</a>.</p>

</div>
</div>
<a id="a153f8e5b0bfd9a142fd8d472e1ba7848"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a153f8e5b0bfd9a142fd8d472e1ba7848">&#9670;&nbsp;</a></span>value() <span class="overload">[2/13]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">jsonv::value::value </td>
          <td>(</td>
          <td class="paramtype">std::nullptr_t&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">delete</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>The nullptr overload will fail to compile &ndash; use <code>null</code> if you want a <code>kind::null</code>. </p>

</div>
</div>
<a id="aae8213bbe2c15829705a12e06f3a7291"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aae8213bbe2c15829705a12e06f3a7291">&#9670;&nbsp;</a></span>value() <span class="overload">[3/13]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">jsonv::value::value </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classjsonv_1_1value.html">value</a> &amp;&#160;</td>
          <td class="paramname"><em>source</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Copy the contents of <em>source</em> into a new instance. </p>

</div>
</div>
<a id="acb44bcc2693282e3d4fd0d801d397f0c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acb44bcc2693282e3d4fd0d801d397f0c">&#9670;&nbsp;</a></span>value() <span class="overload">[4/13]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">jsonv::value::value </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>value</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Create a <code>kind::string</code> with the given <em>value</em>. </p>

</div>
</div>
<a id="a06a22c68eec0860678afd2e4a9eb379b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a06a22c68eec0860678afd2e4a9eb379b">&#9670;&nbsp;</a></span>value() <span class="overload">[5/13]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">jsonv::value::value </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="string__view_8hpp.html#a9cc8d30ac4b07b6f3b7e5c22fb98bcd6">string_view</a> &amp;&#160;</td>
          <td class="paramname"><em>value</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Create a <code>kind::string</code> with the given <em>value</em>. </p>

</div>
</div>
<a id="add1aa9ddf147119f88084f59985206b7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#add1aa9ddf147119f88084f59985206b7">&#9670;&nbsp;</a></span>value() <span class="overload">[6/13]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">jsonv::value::value </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>value</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Create a <code>kind::string</code> with the given <em>value</em>. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">value</td><td>The value to create with. This must be null-terminated. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a9b05ac314779f6edc6cc38c2ecf4f9ae"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9b05ac314779f6edc6cc38c2ecf4f9ae">&#9670;&nbsp;</a></span>value() <span class="overload">[7/13]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">jsonv::value::value </td>
          <td>(</td>
          <td class="paramtype">const std::wstring &amp;&#160;</td>
          <td class="paramname"><em>value</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Create a <code>kind::string</code> with the given <em>value</em>. </p>
<p>Keep in mind that it will be converted to and stored as a UTF-8 encoded string. </p>

</div>
</div>
<a id="a68c4b44959381c8f6ffb8af6d1b6be38"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a68c4b44959381c8f6ffb8af6d1b6be38">&#9670;&nbsp;</a></span>value() <span class="overload">[8/13]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">jsonv::value::value </td>
          <td>(</td>
          <td class="paramtype">const wchar_t *&#160;</td>
          <td class="paramname"><em>value</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Create a <code>kind::string</code> with the given <em>value</em>. </p>
<p>Keep in mind that it will be converted to and stored as a UTF-8 encoded string.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">value</td><td>The value to create with. This must be null-terminated. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="af07ce6b42b31433a68b4817082fab33a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af07ce6b42b31433a68b4817082fab33a">&#9670;&nbsp;</a></span>value() <span class="overload">[9/13]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">jsonv::value::value </td>
          <td>(</td>
          <td class="paramtype">int64_t&#160;</td>
          <td class="paramname"><em>value</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Create a <code>kind::integer</code> with the given <em>value</em>. </p>

</div>
</div>
<a id="aec0cf35155ec31a268aa84283958eadc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aec0cf35155ec31a268aa84283958eadc">&#9670;&nbsp;</a></span>value() <span class="overload">[10/13]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">jsonv::value::value </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>value</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Create a <code>kind::decimal</code> with the given <em>value</em>. </p>

</div>
</div>
<a id="a1a83a1a26dd16f668249c180f57e36eb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1a83a1a26dd16f668249c180f57e36eb">&#9670;&nbsp;</a></span>value() <span class="overload">[11/13]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">jsonv::value::value </td>
          <td>(</td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>value</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Create a <code>kind::decimal</code> with the given <em>value</em>. </p>

</div>
</div>
<a id="a9fb9bbb669cecc911340ae74ca92b779"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9fb9bbb669cecc911340ae74ca92b779">&#9670;&nbsp;</a></span>value() <span class="overload">[12/13]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">jsonv::value::value </td>
          <td>(</td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>value</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Create a <code>kind::boolean</code> with the given <em>value</em>. </p>

</div>
</div>
<a id="aaa697e7d7823f2c3518978f9270a7699"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aaa697e7d7823f2c3518978f9270a7699">&#9670;&nbsp;</a></span>~value()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">jsonv::value::~value </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Destruction will never throw. </p>

</div>
</div>
<a id="a947b385a10eccc9e112c782ee675a848"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a947b385a10eccc9e112c782ee675a848">&#9670;&nbsp;</a></span>value() <span class="overload">[13/13]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">jsonv::value::value </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classjsonv_1_1value.html">value</a> &amp;&amp;&#160;</td>
          <td class="paramname"><em>source</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Move-construct this instance, leaving <em>source</em> as a null value. </p>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a410e0768e350ebfdccc853da11a975e5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a410e0768e350ebfdccc853da11a975e5">&#9670;&nbsp;</a></span>as_array()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classjsonv_1_1value.html#a5f593b7e5b1958a3f602cb809a9dc77f">array_view</a> jsonv::value::as_array </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> &amp;</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>View this instance as an array. </p>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classjsonv_1_1kind__error.html" title="Thrown from various value methods when attempting to perform an operation which is not valid for the ...">kind_error</a></td><td>if the kind is not an array. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a9d36fd929944e10c8bb4aab56d1cc024"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9d36fd929944e10c8bb4aab56d1cc024">&#9670;&nbsp;</a></span>as_boolean()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool jsonv::value::as_boolean </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get this value as a boolean. </p>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classjsonv_1_1kind__error.html" title="Thrown from various value methods when attempting to perform an operation which is not valid for the ...">kind_error</a></td><td>if this value does not represent a boolean. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a22e420bb62163040fb97ab1e3eac31c9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a22e420bb62163040fb97ab1e3eac31c9">&#9670;&nbsp;</a></span>as_decimal()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double jsonv::value::as_decimal </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get this value as a decimal. </p>
<p>If the value's underlying kind is actually an integer type, cast the integer to a double before returning. This ignores the potential loss of precision.</p>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classjsonv_1_1kind__error.html" title="Thrown from various value methods when attempting to perform an operation which is not valid for the ...">kind_error</a></td><td>if this value does not represent a decimal or integer. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="acfbb2db2ddd7746690c3db702442300b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acfbb2db2ddd7746690c3db702442300b">&#9670;&nbsp;</a></span>as_integer()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int64_t jsonv::value::as_integer </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get this value as an integer. </p>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classjsonv_1_1kind__error.html" title="Thrown from various value methods when attempting to perform an operation which is not valid for the ...">kind_error</a></td><td>if this value does not represent an integer. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="ada539b93e4e6d88d802bf5a0377ad68d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ada539b93e4e6d88d802bf5a0377ad68d">&#9670;&nbsp;</a></span>as_object()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classjsonv_1_1value.html#a39d2820f80eac817a14d5e129de46449">object_view</a> jsonv::value::as_object </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> &amp;</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>View this instance as an object. </p>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classjsonv_1_1kind__error.html" title="Thrown from various value methods when attempting to perform an operation which is not valid for the ...">kind_error</a></td><td>if the kind is not an object. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a857ab3adbc33de720eb37d8bc8a2a0bb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a857ab3adbc33de720eb37d8bc8a2a0bb">&#9670;&nbsp;</a></span>as_string()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const std::string&amp; jsonv::value::as_string </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get this value as a string. </p>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classjsonv_1_1kind__error.html" title="Thrown from various value methods when attempting to perform an operation which is not valid for the ...">kind_error</a></td><td>if this value does not represent a string. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a8b1cc3e9785a5fe7946fa3a2ef79d851"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8b1cc3e9785a5fe7946fa3a2ef79d851">&#9670;&nbsp;</a></span>as_string_view()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="string__view_8hpp.html#a9cc8d30ac4b07b6f3b7e5c22fb98bcd6">string_view</a> jsonv::value::as_string_view </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const &amp;</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get this value as a <code>string_view</code>. </p>
<p>It is your responsibility to ensure the <code>value</code> instance remains valid.</p>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classjsonv_1_1kind__error.html" title="Thrown from various value methods when attempting to perform an operation which is not valid for the ...">kind_error</a></td><td>if this value does not represent a string. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a6375fb0f096aaa104dd5bed0b1384662"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6375fb0f096aaa104dd5bed0b1384662">&#9670;&nbsp;</a></span>as_wstring()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::wstring jsonv::value::as_wstring </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get this value as a wide string. </p>
<p>Keep in mind that this is slower than <code>as_string</code>, as the internal storage is the <code>char</code> base <code>std::string</code>.</p>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classjsonv_1_1kind__error.html" title="Thrown from various value methods when attempting to perform an operation which is not valid for the ...">kind_error</a></td><td>if this value does not represent a string. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a34cbe426ef55efe31111bed84c3f6dba"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a34cbe426ef55efe31111bed84c3f6dba">&#9670;&nbsp;</a></span>assign() <span class="overload">[1/3]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void jsonv::value::assign </td>
          <td>(</td>
          <td class="paramtype">size_type&#160;</td>
          <td class="paramname"><em>count</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classjsonv_1_1value.html">value</a> &amp;&#160;</td>
          <td class="paramname"><em>val</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Assign <em>count</em> elements to this array with <em>val</em>. </p>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classjsonv_1_1kind__error.html" title="Thrown from various value methods when attempting to perform an operation which is not valid for the ...">kind_error</a></td><td>if the kind is not an array. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a02c37341353a2b3897d346ae153d6659"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a02c37341353a2b3897d346ae153d6659">&#9670;&nbsp;</a></span>assign() <span class="overload">[2/3]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename TForwardIterator &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void jsonv::value::assign </td>
          <td>(</td>
          <td class="paramtype">TForwardIterator&#160;</td>
          <td class="paramname"><em>first</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">TForwardIterator&#160;</td>
          <td class="paramname"><em>last</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Assign the contents of range [<em>first</em>, <em>last</em>) to this array. </p>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classjsonv_1_1kind__error.html" title="Thrown from various value methods when attempting to perform an operation which is not valid for the ...">kind_error</a></td><td>if the kind is not an array. </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">Definition at line <a class="el" href="value_8hpp_source.html#l00759">759</a> of file <a class="el" href="value_8hpp_source.html">value.hpp</a>.</p>

</div>
</div>
<a id="aecce2dbe3b0d2064d3d713b67a99955a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aecce2dbe3b0d2064d3d713b67a99955a">&#9670;&nbsp;</a></span>assign() <span class="overload">[3/3]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void jsonv::value::assign </td>
          <td>(</td>
          <td class="paramtype">std::initializer_list&lt; <a class="el" href="classjsonv_1_1value.html">value</a> &gt;&#160;</td>
          <td class="paramname"><em>items</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Assign the given <em>items</em> to this array. </p>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classjsonv_1_1kind__error.html" title="Thrown from various value methods when attempting to perform an operation which is not valid for the ...">kind_error</a></td><td>if the kind is not an array. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="ad1978289ca5b93314f1faf54787d3e22"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad1978289ca5b93314f1faf54787d3e22">&#9670;&nbsp;</a></span>at() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classjsonv_1_1value.html">value</a>&amp; jsonv::value::at </td>
          <td>(</td>
          <td class="paramtype">size_type&#160;</td>
          <td class="paramname"><em>idx</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the value in this array at the given <em>idx</em>. </p>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classjsonv_1_1kind__error.html" title="Thrown from various value methods when attempting to perform an operation which is not valid for the ...">kind_error</a></td><td>if the kind is not an array. </td></tr>
    <tr><td class="paramname">std::out_of_range</td><td>if the provided <em>idx</em> is above <code>size</code>. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a2bf8ac39a2be8fc276f0a8937010036f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2bf8ac39a2be8fc276f0a8937010036f">&#9670;&nbsp;</a></span>at() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classjsonv_1_1value.html">value</a>&amp; jsonv::value::at </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>key</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the value associated with the given <em>key</em> of this object. </p>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classjsonv_1_1kind__error.html" title="Thrown from various value methods when attempting to perform an operation which is not valid for the ...">kind_error</a></td><td>if the kind is not an object. </td></tr>
    <tr><td class="paramname">std::out_of_range</td><td>if the <em>key</em> is not in this object. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a4deebd24d01a9a729e3fceee3b62232a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4deebd24d01a9a729e3fceee3b62232a">&#9670;&nbsp;</a></span>at_path()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classjsonv_1_1value.html">value</a>&amp; jsonv::value::at_path </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classjsonv_1_1path.html">path</a> &amp;&#160;</td>
          <td class="paramname"><em>p</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the value specified by the path <em>p</em>. </p>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname">std::out_of_range</td><td>if any path along the chain did not exist. </td></tr>
    <tr><td class="paramname"><a class="el" href="classjsonv_1_1kind__error.html" title="Thrown from various value methods when attempting to perform an operation which is not valid for the ...">kind_error</a></td><td>if the path traversal is not valid for the value (for example: if the path specifies an array index when the value is a string). </td></tr>
    <tr><td class="paramname"><a class="el" href="classjsonv_1_1parse__error.html" title="An error encountered when parsing. ">parse_error</a></td><td>if a <code>string_view</code> was specified that did not have a valid specification (see <code><a class="el" href="classjsonv_1_1path.html#aafa798395256d7ea06e3cbe2de5f940b" title="Create a path from a string definition. ">path::create</a></code>). </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="ae8a94ae8199b6de18e9e27347b6a2dd7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae8a94ae8199b6de18e9e27347b6a2dd7">&#9670;&nbsp;</a></span>begin_array()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classjsonv_1_1value.html#aa58d1fe3e62a974eb331287ede1771bf">array_iterator</a> jsonv::value::begin_array </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get an iterator to the beginning of this array. </p>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classjsonv_1_1kind__error.html" title="Thrown from various value methods when attempting to perform an operation which is not valid for the ...">kind_error</a></td><td>if the kind is not an array. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="acf1294913abd859ce337eac45c6d7426"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acf1294913abd859ce337eac45c6d7426">&#9670;&nbsp;</a></span>begin_object()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classjsonv_1_1value.html#a318c2006b4bc53859c444604995ebc05">object_iterator</a> jsonv::value::begin_object </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get an iterator to the first key-value pair in this object. </p>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classjsonv_1_1kind__error.html" title="Thrown from various value methods when attempting to perform an operation which is not valid for the ...">kind_error</a></td><td>if the kind is not an object. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a11b8dfc38c7a6ceac53c639f18aaebea"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a11b8dfc38c7a6ceac53c639f18aaebea">&#9670;&nbsp;</a></span>clear()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void jsonv::value::clear </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Resets this value to null. </p>

</div>
</div>
<a id="a50a89be9c59fdad1d3bed40610e1750d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a50a89be9c59fdad1d3bed40610e1750d">&#9670;&nbsp;</a></span>compare()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int jsonv::value::compare </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classjsonv_1_1value.html">value</a> &amp;&#160;</td>
          <td class="paramname"><em>other</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Used to build a strict-ordering of JSON values. </p>
<p>When comparing values of the same kind, the ordering should align with your intuition. When comparing values of different kinds, some arbitrary rules were created based on how "complicated" the author thought the type to be.</p>
<ul>
<li>null: less than everything but null, which it is equal to.</li>
<li>boolean: false is less than true.</li>
<li>integer, decimal: compared by their numeric value. Comparisons between two integers do not cast, but comparison between an integer and a decimal will coerce to decimal.</li>
<li>string: compared lexicographically by character code (with basic char strings and non-ASCII encoding, this might lead to surprising results)</li>
<li>array: compared lexicographically by elements (recursively following this same technique)</li>
<li>object: entries in the object are sorted and compared lexicographically, first by key then by value</li>
</ul>
<dl class="section return"><dt>Returns</dt><dd>-1 if this is less than other by the rules stated above; 0 if this is equal to other; -1 if otherwise. </dd></dl>

</div>
</div>
<a id="a304ab6c04b0def73dd130cabb9cf1eee"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a304ab6c04b0def73dd130cabb9cf1eee">&#9670;&nbsp;</a></span>count()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_type jsonv::value::count </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>key</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Check if the given <em>key</em> exists in this object. </p>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classjsonv_1_1kind__error.html" title="Thrown from various value methods when attempting to perform an operation which is not valid for the ...">kind_error</a></td><td>if the kind is not an object. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a38a3c2b5adbee4b65f268f85e6c155be"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a38a3c2b5adbee4b65f268f85e6c155be">&#9670;&nbsp;</a></span>count_path()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_type jsonv::value::count_path </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classjsonv_1_1path.html">path</a> &amp;&#160;</td>
          <td class="paramname"><em>p</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Similar to <code>count</code>, but walks the given path <em>p</em> to determine its presence. </p>
<dl class="section return"><dt>Returns</dt><dd><code>1</code> if the path finds an element; <code>0</code> if there is no such path in the tree.</dd></dl>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classjsonv_1_1parse__error.html" title="An error encountered when parsing. ">parse_error</a></td><td>if a <code>string_view</code> was specified that did not have a valid specification (see <code><a class="el" href="classjsonv_1_1path.html#aafa798395256d7ea06e3cbe2de5f940b" title="Create a path from a string definition. ">path::create</a></code>). </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a18556ec6776802192654465625550fc6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a18556ec6776802192654465625550fc6">&#9670;&nbsp;</a></span>empty()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool jsonv::value::empty </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Is the underlying structure empty? This has similar meaning for all types it works on and is always equivalent to asking if the size is 0. </p>
<ul>
<li>object: Are there no keys?</li>
<li>array: Are there no values?</li>
<li>string: Is the string 0 length?</li>
</ul>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classjsonv_1_1kind__error.html" title="Thrown from various value methods when attempting to perform an operation which is not valid for the ...">kind_error</a></td><td>if the kind is not an object, array or string. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="ae8e46475135847419326f43bb8652030"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae8e46475135847419326f43bb8652030">&#9670;&nbsp;</a></span>end_array()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classjsonv_1_1value.html#aa58d1fe3e62a974eb331287ede1771bf">array_iterator</a> jsonv::value::end_array </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get an iterator to the end of this array. </p>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classjsonv_1_1kind__error.html" title="Thrown from various value methods when attempting to perform an operation which is not valid for the ...">kind_error</a></td><td>if the kind is not an array. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a4575cef7e4195a25eeba35a7f15b2fbd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4575cef7e4195a25eeba35a7f15b2fbd">&#9670;&nbsp;</a></span>end_object()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classjsonv_1_1value.html#a318c2006b4bc53859c444604995ebc05">object_iterator</a> jsonv::value::end_object </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get an iterator to the one past the end of this object. </p>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classjsonv_1_1kind__error.html" title="Thrown from various value methods when attempting to perform an operation which is not valid for the ...">kind_error</a></td><td>if the kind is not an object. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a7b480563d0e93fc21018e088ac38646d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7b480563d0e93fc21018e088ac38646d">&#9670;&nbsp;</a></span>erase() <span class="overload">[1/5]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classjsonv_1_1value.html#aa58d1fe3e62a974eb331287ede1771bf">array_iterator</a> jsonv::value::erase </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structjsonv_1_1value_1_1basic__array__iterator.html">const_array_iterator</a>&#160;</td>
          <td class="paramname"><em>position</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Erase the item at this array's <em>position</em>. </p>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classjsonv_1_1kind__error.html" title="Thrown from various value methods when attempting to perform an operation which is not valid for the ...">kind_error</a></td><td>if the kind is not an array. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a1a32487f57f0c8c6de20394e17d4f768"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1a32487f57f0c8c6de20394e17d4f768">&#9670;&nbsp;</a></span>erase() <span class="overload">[2/5]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classjsonv_1_1value.html#aa58d1fe3e62a974eb331287ede1771bf">array_iterator</a> jsonv::value::erase </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structjsonv_1_1value_1_1basic__array__iterator.html">const_array_iterator</a>&#160;</td>
          <td class="paramname"><em>first</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structjsonv_1_1value_1_1basic__array__iterator.html">const_array_iterator</a>&#160;</td>
          <td class="paramname"><em>last</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Erase the range [<em>first</em>, <em>last</em>) from this array. </p>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classjsonv_1_1kind__error.html" title="Thrown from various value methods when attempting to perform an operation which is not valid for the ...">kind_error</a></td><td>if the kind is not an array. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="ae5ee259b187051fa86ec1980c05408f5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae5ee259b187051fa86ec1980c05408f5">&#9670;&nbsp;</a></span>erase() <span class="overload">[3/5]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_type jsonv::value::erase </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>key</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Erase the item with the given <em>key</em>.</p>
<dl class="section return"><dt>Returns</dt><dd>1 if <em>key</em> was erased; 0 if it did not. </dd></dl>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classjsonv_1_1kind__error.html" title="Thrown from various value methods when attempting to perform an operation which is not valid for the ...">kind_error</a></td><td>if the kind is not an object. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a3524ccad9a4188014c507454ca38fc8f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3524ccad9a4188014c507454ca38fc8f">&#9670;&nbsp;</a></span>erase() <span class="overload">[4/5]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classjsonv_1_1value.html#a318c2006b4bc53859c444604995ebc05">object_iterator</a> jsonv::value::erase </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structjsonv_1_1value_1_1basic__object__iterator.html">const_object_iterator</a>&#160;</td>
          <td class="paramname"><em>position</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Erase the item at the given <em>position</em>. </p>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classjsonv_1_1kind__error.html" title="Thrown from various value methods when attempting to perform an operation which is not valid for the ...">kind_error</a></td><td>if the kind is not an object. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="adff0cf180eac1aaa3e95972a4a1671ab"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adff0cf180eac1aaa3e95972a4a1671ab">&#9670;&nbsp;</a></span>erase() <span class="overload">[5/5]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classjsonv_1_1value.html#a318c2006b4bc53859c444604995ebc05">object_iterator</a> jsonv::value::erase </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structjsonv_1_1value_1_1basic__object__iterator.html">const_object_iterator</a>&#160;</td>
          <td class="paramname"><em>first</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structjsonv_1_1value_1_1basic__object__iterator.html">const_object_iterator</a>&#160;</td>
          <td class="paramname"><em>last</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Erase the range defined by [<em>first</em>, <em>last</em>). </p>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classjsonv_1_1kind__error.html" title="Thrown from various value methods when attempting to perform an operation which is not valid for the ...">kind_error</a></td><td>if the kind is not an object. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a543d5d55c78d2de437cee6ed48b24ec6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a543d5d55c78d2de437cee6ed48b24ec6">&#9670;&nbsp;</a></span>extract() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classjsonv_1_1object__node__handle.html">object_node_handle</a> jsonv::value::extract </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structjsonv_1_1value_1_1basic__object__iterator.html">const_object_iterator</a>&#160;</td>
          <td class="paramname"><em>position</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Unlinks the node that contains the element pointed to by position and returns a node handle that owns it.</p>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classjsonv_1_1kind__error.html" title="Thrown from various value methods when attempting to perform an operation which is not valid for the ...">kind_error</a></td><td>if the kind is not an object. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a60cb0bae07dcacda5377a1f10254023a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a60cb0bae07dcacda5377a1f10254023a">&#9670;&nbsp;</a></span>extract() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classjsonv_1_1object__node__handle.html">object_node_handle</a> jsonv::value::extract </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>key</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>If the container has an element with the given <em>key</em>, unlinks the node that contains that element from the container and returns a node handle that owns it. </p>
<p>Otherwise, returns an empty node handle.</p>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classjsonv_1_1kind__error.html" title="Thrown from various value methods when attempting to perform an operation which is not valid for the ...">kind_error</a></td><td>if the kind is not an object. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a765ff56aa009ddea1a7360f0f9acb93a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a765ff56aa009ddea1a7360f0f9acb93a">&#9670;&nbsp;</a></span>find()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classjsonv_1_1value.html#a318c2006b4bc53859c444604995ebc05">object_iterator</a> jsonv::value::find </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>key</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Attempt to locate a key-value pair with the provided <em>key</em> in this object. </p>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classjsonv_1_1kind__error.html" title="Thrown from various value methods when attempting to perform an operation which is not valid for the ...">kind_error</a></td><td>if the kind is not an object. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="ae19ed935e84e274c0cc93fd397498d3a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae19ed935e84e274c0cc93fd397498d3a">&#9670;&nbsp;</a></span>insert() <span class="overload">[1/7]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classjsonv_1_1value.html#aa58d1fe3e62a974eb331287ede1771bf">array_iterator</a> jsonv::value::insert </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structjsonv_1_1value_1_1basic__array__iterator.html">const_array_iterator</a>&#160;</td>
          <td class="paramname"><em>position</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classjsonv_1_1value.html">value</a>&#160;</td>
          <td class="paramname"><em>item</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Insert an item into <em>position</em> on this array. </p>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classjsonv_1_1kind__error.html" title="Thrown from various value methods when attempting to perform an operation which is not valid for the ...">kind_error</a></td><td>if the kind is not an array. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a80ba8ef75cdb0a1b64b9d7ab9df5f723"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a80ba8ef75cdb0a1b64b9d7ab9df5f723">&#9670;&nbsp;</a></span>insert() <span class="overload">[2/7]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename TForwardIterator &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classjsonv_1_1value.html#aa58d1fe3e62a974eb331287ede1771bf">array_iterator</a> jsonv::value::insert </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structjsonv_1_1value_1_1basic__array__iterator.html">const_array_iterator</a>&#160;</td>
          <td class="paramname"><em>position</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">TForwardIterator&#160;</td>
          <td class="paramname"><em>first</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">TForwardIterator&#160;</td>
          <td class="paramname"><em>last</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Insert the range defined by [<em>first</em>, <em>last</em>) at <em>position</em> in this array. </p>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classjsonv_1_1kind__error.html" title="Thrown from various value methods when attempting to perform an operation which is not valid for the ...">kind_error</a></td><td>if the kind is not an array. </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">Definition at line <a class="el" href="value_8hpp_source.html#l00739">739</a> of file <a class="el" href="value_8hpp_source.html">value.hpp</a>.</p>

</div>
</div>
<a id="ab1bb3e772366da9b594e58fdf8e8aa57"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab1bb3e772366da9b594e58fdf8e8aa57">&#9670;&nbsp;</a></span>insert() <span class="overload">[3/7]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::pair&lt;<a class="el" href="classjsonv_1_1value.html#a318c2006b4bc53859c444604995ebc05">object_iterator</a>, bool&gt; jsonv::value::insert </td>
          <td>(</td>
          <td class="paramtype">std::pair&lt; std::string, <a class="el" href="classjsonv_1_1value.html">value</a> &gt;&#160;</td>
          <td class="paramname"><em>pair</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Insert <em>pair</em> into this object. If <em>hint</em> is provided, this insertion could be optimized.</p>
<dl class="section return"><dt>Returns</dt><dd>A pair whose <code>first</code> refers to the newly-inserted element (or the element which shares the key). </dd></dl>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classjsonv_1_1kind__error.html" title="Thrown from various value methods when attempting to perform an operation which is not valid for the ...">kind_error</a></td><td>if the kind is not an object. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a5b86bbeebd1d761d9a4598ee4baabe42"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5b86bbeebd1d761d9a4598ee4baabe42">&#9670;&nbsp;</a></span>insert() <span class="overload">[4/7]</span></h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename TForwardIterator &gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void jsonv::value::insert </td>
          <td>(</td>
          <td class="paramtype">TForwardIterator&#160;</td>
          <td class="paramname"><em>first</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">TForwardIterator&#160;</td>
          <td class="paramname"><em>last</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Insert range defined by [<em>first</em>, <em>last</em>) into this object. </p>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classjsonv_1_1kind__error.html" title="Thrown from various value methods when attempting to perform an operation which is not valid for the ...">kind_error</a></td><td>if the kind is not an object. </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">Definition at line <a class="el" href="value_8hpp_source.html#l00866">866</a> of file <a class="el" href="value_8hpp_source.html">value.hpp</a>.</p>

</div>
</div>
<a id="a7492a8e08ce8eb0a07b0284cbcf414c6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7492a8e08ce8eb0a07b0284cbcf414c6">&#9670;&nbsp;</a></span>insert() <span class="overload">[5/7]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classjsonv_1_1value.html#structjsonv_1_1value_1_1object__insert__return__type">object_insert_return_type</a> jsonv::value::insert </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classjsonv_1_1object__node__handle.html">object_node_handle</a> &amp;&amp;&#160;</td>
          <td class="paramname"><em>handle</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Insert the contents of <em>handle</em>. </p>
<p>If <em>handle</em> is empty, this does nothing.</p>
<dl class="section return"><dt>Returns</dt><dd>If <em>handle</em> is empty, <code>inserted</code> is <code>false</code> and <code>position</code> is <code><a class="el" href="classjsonv_1_1value.html#a4575cef7e4195a25eeba35a7f15b2fbd" title="Get an iterator to the one past the end of this object. ">end_object()</a></code>. If the insertion took place, <code>inserted</code> is <code>true</code> and <code>position</code> points to the inserted element. If the insertion was attempted but failed, <code>inserted</code> is <code>false</code> and <code>position</code> points to an element with a key equivalent to <code>handle.key()</code>. </dd></dl>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classjsonv_1_1kind__error.html" title="Thrown from various value methods when attempting to perform an operation which is not valid for the ...">kind_error</a></td><td>if the kind is not an object. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a75aed835b58c9ba209c10aa03cf0b696"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a75aed835b58c9ba209c10aa03cf0b696">&#9670;&nbsp;</a></span>insert() <span class="overload">[6/7]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classjsonv_1_1value.html#a318c2006b4bc53859c444604995ebc05">object_iterator</a> jsonv::value::insert </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structjsonv_1_1value_1_1basic__object__iterator.html">const_object_iterator</a>&#160;</td>
          <td class="paramname"><em>hint</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classjsonv_1_1object__node__handle.html">object_node_handle</a> &amp;&amp;&#160;</td>
          <td class="paramname"><em>handle</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>If <em>handle</em> is an empty node handle, does nothing and returns <a class="el" href="classjsonv_1_1value.html#a4575cef7e4195a25eeba35a7f15b2fbd">end_object</a>. </p>
<p>Otherwise, inserts the element owned by <em>handle</em> into the container, if the container doesn't already contain an element with a key equivalent to <code>handle.key()</code> and returns the iterator pointing to the element with key equivalent to <code>handle.key()</code>. If the insertion succeeds, <em>handle</em> is moved from, otherwise it retains ownership of the element. The element is inserted as close as possible to the position just prior to <em>hint</em>.</p>
<dl class="section return"><dt>Returns</dt><dd>An iterator pointing to an element with a key equivalent to <code>handle.key()</code> if <em>handle</em> was not empty. If <em>handle</em> was empty, <code><a class="el" href="classjsonv_1_1value.html#a4575cef7e4195a25eeba35a7f15b2fbd" title="Get an iterator to the one past the end of this object. ">end_object()</a></code>. </dd></dl>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classjsonv_1_1kind__error.html" title="Thrown from various value methods when attempting to perform an operation which is not valid for the ...">kind_error</a></td><td>if the kind is not an object. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a7c7c41413bcfcfebde5f2968458fc725"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7c7c41413bcfcfebde5f2968458fc725">&#9670;&nbsp;</a></span>insert() <span class="overload">[7/7]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void jsonv::value::insert </td>
          <td>(</td>
          <td class="paramtype">std::initializer_list&lt; std::pair&lt; std::string, <a class="el" href="classjsonv_1_1value.html">value</a> &gt;&gt;&#160;</td>
          <td class="paramname"><em>items</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Insert <em>items</em> into this object. </p>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classjsonv_1_1kind__error.html" title="Thrown from various value methods when attempting to perform an operation which is not valid for the ...">kind_error</a></td><td>if the kind is not an object. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a873c5e74cfc6e20ea5902b63fc6564e2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a873c5e74cfc6e20ea5902b63fc6564e2">&#9670;&nbsp;</a></span>is_array()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool jsonv::value::is_array </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Tests if this <code>kind</code> is <code>kind::array</code>. </p>

</div>
</div>
<a id="ac7d1285edf2657143eecbc2462896bd1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac7d1285edf2657143eecbc2462896bd1">&#9670;&nbsp;</a></span>is_boolean()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool jsonv::value::is_boolean </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Tests if this <code>kind</code> is <code>kind::boolean</code>. </p>

</div>
</div>
<a id="a604616de46b12731b73970d72a3aff93"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a604616de46b12731b73970d72a3aff93">&#9670;&nbsp;</a></span>is_decimal()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool jsonv::value::is_decimal </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Tests if this <code>kind</code> is <code>kind::integer</code> or <code>kind::decimal</code>. </p>

</div>
</div>
<a id="ac70bfe24618e1886078432d89873fd20"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac70bfe24618e1886078432d89873fd20">&#9670;&nbsp;</a></span>is_integer()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool jsonv::value::is_integer </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Tests if this <code>kind</code> is <code>kind::integer</code>. </p>

</div>
</div>
<a id="a6ca6624ee0b38cef7f9458fe6466ff62"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6ca6624ee0b38cef7f9458fe6466ff62">&#9670;&nbsp;</a></span>is_null()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool jsonv::value::is_null </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Tests if this <code>kind</code> is <code>kind::null</code>. </p>

</div>
</div>
<a id="af414e84b17ae18cd6b41213a0dc6e821"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af414e84b17ae18cd6b41213a0dc6e821">&#9670;&nbsp;</a></span>is_object()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool jsonv::value::is_object </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Tests if this <code>kind</code> is <code>kind::object</code>. </p>

</div>
</div>
<a id="a28b9a7d610406085dc29aae843bc5fd2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a28b9a7d610406085dc29aae843bc5fd2">&#9670;&nbsp;</a></span>is_string()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool jsonv::value::is_string </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Tests if this <code>kind</code> is <code>kind::string</code>. </p>

</div>
</div>
<a id="a535999782d4f869f1f0111b8020dcef7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a535999782d4f869f1f0111b8020dcef7">&#9670;&nbsp;</a></span>kind()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__Value.html#ga3721c2ed2f380809f2fc3b03a6f6fa53">jsonv::kind</a> jsonv::value::kind </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get this value's kind. </p>

<p class="definition">Definition at line <a class="el" href="value_8hpp_source.html#l00562">562</a> of file <a class="el" href="value_8hpp_source.html">value.hpp</a>.</p>

</div>
</div>
<a id="a39d11a11dc3acb059d5e6ff9992570eb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a39d11a11dc3acb059d5e6ff9992570eb">&#9670;&nbsp;</a></span>operator!=()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool jsonv::value::operator!= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classjsonv_1_1value.html">value</a> &amp;&#160;</td>
          <td class="paramname"><em>other</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Compares two JSON values for inequality. </p>
<p>The rules for inequality are the exact opposite of equality. </p>

</div>
</div>
<a id="a6d0c99d7a7004dfbf3e787636834c7b4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6d0c99d7a7004dfbf3e787636834c7b4">&#9670;&nbsp;</a></span>operator=() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classjsonv_1_1value.html">value</a>&amp; jsonv::value::operator= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classjsonv_1_1value.html">value</a> &amp;&#160;</td>
          <td class="paramname"><em>source</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Copy-assigns <code>source</code> to this. </p>
<p>If an exception is thrown during the copy, it is propagated out. This instance will remain unchanged. </p>

</div>
</div>
<a id="a20594daa871eaa685f6e6d716561bb76"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a20594daa871eaa685f6e6d716561bb76">&#9670;&nbsp;</a></span>operator=() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classjsonv_1_1value.html">value</a>&amp; jsonv::value::operator= </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classjsonv_1_1value.html">value</a> &amp;&amp;&#160;</td>
          <td class="paramname"><em>source</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Move-assigns <code>source</code> to this, leaving <em>source</em> as a null value. </p>
<p>Unlike a copy, this will never throw. </p>

</div>
</div>
<a id="a7dda6eef4c4ed1e50320bf9b36bee3e4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7dda6eef4c4ed1e50320bf9b36bee3e4">&#9670;&nbsp;</a></span>operator==()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool jsonv::value::operator== </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classjsonv_1_1value.html">value</a> &amp;&#160;</td>
          <td class="paramname"><em>other</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Compares two JSON values for equality. </p>
<p>Two JSON values are equal if and only if all of the following conditions apply:</p>
<ol type="1">
<li>They have the same valid value for <code>kind</code>.<ul>
<li>If <code>kind</code> is invalid (memory corruption), then two JSON values are <em>not</em> equal, even if they have been corrupted in the same way and even if they share <code>this</code> (a corrupt object is not equal to itself).</li>
</ul>
</li>
<li>The kind comparison is also equal:<ul>
<li>Two null values are always equivalent.</li>
<li>string, integer, decimal and boolean follow the classic rules for their type.</li>
<li>objects are equal if they have the same keys and values corresponding with the same key are also equal.</li>
<li>arrays are equal if they have the same length and the values at each index are also equal.</li>
</ul>
</li>
</ol>
<dl class="section note"><dt>Note</dt><dd>The rules for equality are based on Python <code>dict</code> and <code>list</code>. </dd></dl>

</div>
</div>
<a id="a08a88ea17e35fd2c7844ce4c7768bf12"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a08a88ea17e35fd2c7844ce4c7768bf12">&#9670;&nbsp;</a></span>operator[]() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classjsonv_1_1value.html">value</a>&amp; jsonv::value::operator[] </td>
          <td>(</td>
          <td class="paramtype">size_type&#160;</td>
          <td class="paramname"><em>idx</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the value in this array at the given <em>idx</em>. </p>
<p>The overloads which accept an <code>int</code> are required to resolve the type ambiguity of the literal <code>0</code> between a size_type and a char*.</p>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classjsonv_1_1kind__error.html" title="Thrown from various value methods when attempting to perform an operation which is not valid for the ...">kind_error</a></td><td>if the kind is not an array. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="ab9121a691d21e33d03773489114cb623"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab9121a691d21e33d03773489114cb623">&#9670;&nbsp;</a></span>operator[]() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classjsonv_1_1value.html">value</a>&amp; jsonv::value::operator[] </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>key</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the value associated with the given <em>key</em> of this object. </p>
<p>If the <em>key</em> does not exist, it will be created.</p>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classjsonv_1_1kind__error.html" title="Thrown from various value methods when attempting to perform an operation which is not valid for the ...">kind_error</a></td><td>if the kind is not an object. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a5fef3e201f1d7661ca0aab45bdd2d4e9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5fef3e201f1d7661ca0aab45bdd2d4e9">&#9670;&nbsp;</a></span>path()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classjsonv_1_1value.html">value</a>&amp; jsonv::value::path </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classjsonv_1_1path.html">path</a> &amp;&#160;</td>
          <td class="paramname"><em>p</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get or create the value specified by the path <em>p</em>. </p>
<p>This is the moral equivalent to <code>operator</code>[] for paths. If no value exists at the path, a new one is created as the default (<code>null</code>) value. If any path along the way either does not exist or is <code>null</code>, it is created for you, based on the <em>implications</em> of the specification <em>p</em>. Unlike <code>at_path</code>, which will throw if accessing a non-existent key of an <code>object</code> or going past the end of an <code>array</code>, this will simply create that path and fill in the blanks with <code>null</code> values.</p>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classjsonv_1_1kind__error.html" title="Thrown from various value methods when attempting to perform an operation which is not valid for the ...">kind_error</a></td><td>if the path traversal is not valid for the value (for example: if the path specifies an array index when the value is a string). </td></tr>
    <tr><td class="paramname"><a class="el" href="classjsonv_1_1parse__error.html" title="An error encountered when parsing. ">parse_error</a></td><td>if a <code>string_view</code> was specified that did not have a valid specification (see <code><a class="el" href="classjsonv_1_1path.html#aafa798395256d7ea06e3cbe2de5f940b" title="Create a path from a string definition. ">path::create</a></code>).</td></tr>
  </table>
  </dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classjsonv_1_1value.html#a4deebd24d01a9a729e3fceee3b62232a" title="Get the value specified by the path p. ">at_path</a> </dd></dl>

</div>
</div>
<a id="adfa8dbeba86d9ad39610d7972d995eaf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adfa8dbeba86d9ad39610d7972d995eaf">&#9670;&nbsp;</a></span>pop_back()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void jsonv::value::pop_back </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Pop an item off the back of this array. </p>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classjsonv_1_1kind__error.html" title="Thrown from various value methods when attempting to perform an operation which is not valid for the ...">kind_error</a></td><td>if the kind is not an array. </td></tr>
    <tr><td class="paramname">std::logic_error</td><td>if the array is empty. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="ad7cec4c8d1d57aa153605b321dd1b0e9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad7cec4c8d1d57aa153605b321dd1b0e9">&#9670;&nbsp;</a></span>pop_front()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void jsonv::value::pop_front </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Pop an item from the front of this array. </p>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classjsonv_1_1kind__error.html" title="Thrown from various value methods when attempting to perform an operation which is not valid for the ...">kind_error</a></td><td>if the kind is not an array. </td></tr>
    <tr><td class="paramname">std::logic_error</td><td>if the array is empty. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="ac8dadf575c194b8685abe745ccf78967"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac8dadf575c194b8685abe745ccf78967">&#9670;&nbsp;</a></span>push_back()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void jsonv::value::push_back </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classjsonv_1_1value.html">value</a>&#160;</td>
          <td class="paramname"><em>item</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Push <em>item</em> to the back of this array. </p>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classjsonv_1_1kind__error.html" title="Thrown from various value methods when attempting to perform an operation which is not valid for the ...">kind_error</a></td><td>if the kind is not an array. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a94242bf7d37ef7ae32abe4b3fb553f2a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a94242bf7d37ef7ae32abe4b3fb553f2a">&#9670;&nbsp;</a></span>push_front()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void jsonv::value::push_front </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classjsonv_1_1value.html">value</a>&#160;</td>
          <td class="paramname"><em>item</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Push <em>item</em> to the front of this array. </p>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classjsonv_1_1kind__error.html" title="Thrown from various value methods when attempting to perform an operation which is not valid for the ...">kind_error</a></td><td>if the kind is not an array. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a961156664c4bf71ebe27c516be6d8ae9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a961156664c4bf71ebe27c516be6d8ae9">&#9670;&nbsp;</a></span>resize()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void jsonv::value::resize </td>
          <td>(</td>
          <td class="paramtype">size_type&#160;</td>
          <td class="paramname"><em>count</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classjsonv_1_1value.html">value</a> &amp;&#160;</td>
          <td class="paramname"><em>val</em> = <code><a class="el" href="classjsonv_1_1value.html">value</a>()</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Resize the length of this array to <em>count</em> items. </p>
<p>If the resize creates new elements, fill those newly-created elements with <em>val</em>.</p>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classjsonv_1_1kind__error.html" title="Thrown from various value methods when attempting to perform an operation which is not valid for the ...">kind_error</a></td><td>if the kind is not an array. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="afbb32de6f0f33f440085417b70ec9a75"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afbb32de6f0f33f440085417b70ec9a75">&#9670;&nbsp;</a></span>size()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_type jsonv::value::size </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the number of items in this value. </p>
<ul>
<li>object: The number of key/value pairs.</li>
<li>array: The number of values.</li>
<li>string: The number of code points in the string (including <code>\0</code> values and counting multi-byte encodings as more than one value).</li>
</ul>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="classjsonv_1_1kind__error.html" title="Thrown from various value methods when attempting to perform an operation which is not valid for the ...">kind_error</a></td><td>if the kind is not an object, array or string. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="acea6f1f938880b1b1761324e59abad83"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acea6f1f938880b1b1761324e59abad83">&#9670;&nbsp;</a></span>swap()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void jsonv::value::swap </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classjsonv_1_1value.html">value</a> &amp;&#160;</td>
          <td class="paramname"><em>other</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Swap the value this instance represents with <em>other</em>. </p>

</div>
</div>
<h2 class="groupheader">Friends And Related Function Documentation</h2>
<a id="a300b3a8329971c996c116513055cd72d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a300b3a8329971c996c116513055cd72d">&#9670;&nbsp;</a></span>array</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="config_8hpp.html#acd0703012bd724b356c177b7bc3d761d">JSONV_PUBLIC</a> <a class="el" href="classjsonv_1_1value.html">value</a> array </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">friend</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Create an empty array value. </p>

</div>
</div>
<a id="a8d361da4d3ed314d2a56a24c723190d2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8d361da4d3ed314d2a56a24c723190d2">&#9670;&nbsp;</a></span>object</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="config_8hpp.html#acd0703012bd724b356c177b7bc3d761d">JSONV_PUBLIC</a> <a class="el" href="classjsonv_1_1value.html">value</a> object </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">friend</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Create an empty object. </p>

</div>
</div>
<a id="acff1f9d0e10df14e2a1440911e30ef7e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acff1f9d0e10df14e2a1440911e30ef7e">&#9670;&nbsp;</a></span>operator&lt;&lt;</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::ostream&amp; operator&lt;&lt; </td>
          <td>(</td>
          <td class="paramtype">std::ostream &amp;&#160;</td>
          <td class="paramname"><em>stream</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classjsonv_1_1value.html">value</a> &amp;&#160;</td>
          <td class="paramname"><em>val</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">friend</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Output this value to a stream. </p>

</div>
</div>
<a id="adac006e646d57212ae0de2f87917a584"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adac006e646d57212ae0de2f87917a584">&#9670;&nbsp;</a></span>to_string</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::string to_string </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classjsonv_1_1value.html">value</a> &amp;&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">friend</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get a string representation of the given <code>value</code>. </p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>jsonv/<a class="el" href="value_8hpp_source.html">value.hpp</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><b>jsonv</b></li><li class="navelem"><a class="el" href="classjsonv_1_1value.html">value</a></li>
    <li class="footer">Generated by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.14 </li>
  </ul>
</div>
</body>
</html>
